Excel - Power Query - Power Pivot - VBA

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 a

Un commentaire en bout de ligne :

Dim a 'Commentaire expliquant la variable a

Caractè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 function

Opérateurs

Opérateurs arithmétiques

OpérateurDescription
* / + -Les quatres opérateurs arithmétiques
\Divise deux nombres et retourne un entier.
c = 3 \ 2
c contient 1
ModPermet de diviser deux nombres en ne renvoyant que le reste.
c = 3 Mod 2
c contient 1

Opérateurs de comparaison

OpérateurDescription
> >= < <= <> =Les opérateurs classiques
IsCompare deux objets
LikeCompare 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érateurDescription
&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érateurDescription
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
NotPermet 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 Next

Tester 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 if

Afficher toutes les erreurs

Afficher toutes les erreurs dans la suite de la procédure

On Error GoTo 0

Routine 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