Cours : Fonctions, Procédures, Chaînes
et Dates en VBA
1. Fonctions et Procédures en VBA
1.1. Définition
• Procédure (Sub) : effectue une action, ne
renvoie pas de valeur.
• Fonction (Function) : effectue une action et
retourne une valeur.
1.2. Syntaxe - Procédure
• Sub AfficherMessage()
• MsgBox "Bienvenue en VBA"
• End Sub
1.2. Syntaxe - Fonction
• Function Addition(a As Double, b As Double)
As Double
• Addition = a + b
• End Function
1.3. Appel de procédures/fonctions
• Sub Test()
• MsgBox Addition(10, 5)
• End Sub
1.4. Passage de paramètres
• ByVal (valeur) : copie
• ByRef (référence) : modifie la variable
d'origine
• Sub ModifierParRef(ByRef x As Integer)
• x = x + 10
• End Sub
2. Manipulation de chaînes de
caractères
• Len, UCase, LCase, Left, Right, Mid, Instr, Replace,
Trim
2.2. Exemple de manipulation de
chaîne
• Sub ManipulationChaine()
• Dim nom As String
• nom = " Ayikpa Jean "
• MsgBox UCase(Trim(nom))
• End Sub
2.2. Exemple de manipulation de
chaîne
3. Manipulation des dates en VBA
3.2. Exemple de manipulation de date
• Sub ManipulationDate()
• Dim aujourdhui As Date
• aujourdhui = Date
• MsgBox "Dans 7 jours : " & DateAdd("d", 7,
aujourdhui)
• End Sub
Applications pratiques
• - Fonction CalculeTVA (montant TTC à partir
de HT)
• - Procédure formatage nom complet (trim +
majuscules)
• - Procédure nombre de jours avant date de
paiement
Function CalculeTVA(ht As Double) As Double
CalculeTVA = ht * 1.18
End Function
Sub TestTVA()
MsgBox "Montant TTC : " & CalculeTVA(100)
End Sub
Sub FormatterNom()
Dim nom As String
nom = InputBox("Entrez un nom complet :")
nom = Trim(UCase(nom))
MsgBox "Nom formaté : " & nom
End Sub