Organisation du code
Commentaires
Tout texte saisi précédé d’une apostrophe est mis en commentaire.
Par exemple un commentaire sur une ligne :
'Commentaire expliquant la variable a
Dim aUn commentaire en bout de ligne :
Dim a 'Commentaire expliquant la variable aCaractères de continuation
Pour écrire une instruction sur plusieurs lignes, ajoutez en bout de ligne un espace suivi du caractère _ (soulignement).
Retrait
Il est très important pour la lisibilité du code d’indenter les lignes. Dans cet exemple, nous imbriquons des boucles et des structures de décisions :
Function Macro1()
Dim a, b, c, d
For a=1 To 10
Select Case b
Case 1
c = 10
If a = 5 Then
c = 15
End if
Case 2
c = 20
Case Else
c = 30
End select
d = d + c
Next
End functionOpérateurs
Opérateurs arithmétiques
| Opérateur | Description |
| * / + - | Les quatres opérateurs arithmétiques |
| \ | Divise deux nombres et retourne un entier. c = 3 \ 2 c contient 1 |
| Mod | Permet de diviser deux nombres en ne renvoyant que le reste. c = 3 Mod 2 c contient 1 |
Opérateurs de comparaison
| Opérateur | Description |
| > >= < <= <> = | Les opérateurs classiques |
| Is | Compare deux objets |
| Like | Compare deux chaines de texte Vous pouvez utiliser les caractères génériques * (pour tout caractère) et ? pour un caractère. c = "aBBBa" Like "a*a" 'c contient True c = "F" Like "[A-Z]" 'c contient True |
Opérateurs de concaténation
| Opérateur | Description |
| & | Concatène deux chaines |
| + | Concatène deux chaines. Peut présenter une ambiguïté quant au résultat. Préférez toujours utiliser &. |
Opérateurs logiques
| Opérateur | Description |
| And Or | Jonction logique de deux expressionsDim a, b, c, da = 10: b = 8: c = 6d = a > b And b > c ' d renvoie Trued = b > a Or b > c ' d renvoie False |
| Not | Permet d'établir la négation logique d'une expression. a = Not b |
Gestion des erreurs
Masquer toute les erreurs
Masquer toute les erreurs dans la procédure jusqu’à la prochaine gestion d’erreur :
On Error Resume NextTester si une erreur s’est produite
If Err<>0 Then
Select Case Err
Case 123 'Numéro de l’erreur
...
Case 456
...
End Select
End ifAfficher toutes les erreurs
Afficher toutes les erreurs dans la suite de la procédure
On Error GoTo 0Routine de gestion d’erreur
On utilise les étiquettes (un mot suivi d’un :)
Sub MaSub()
On Error GoTo GestionErreur
(code du sub)
'À la fin de la procédure
Fin:
ActiveWorkbook.Close SaveChanges:=False
Exit Sub
GestionErreur:
MsgBox "Erreur " & Err.Description, vbExclamation
GoTo Fin
End Sub