Comment utiliser la directive #If…Then…#Else dans VBA ?

La directive `#If…Then…#Else` en VBA est utilisée pour compiler des blocs de code conditionnellement, en fonction des constantes de compilation. Cela signifie que le code est compilé uniquement si certaines conditions sont remplies, généralement pour adapter le code à différents environnements ou configurations.

Voici comment utiliser cette directive :

Syntaxe de base

#If condition Then
    ' Code exécuté si la condition est vraie
#ElseIf autreCondition Then
    ' Code exécuté si la première condition est fausse et que l'autreCondition est vraie
#Else
    ' Code exécuté si toutes les conditions précédentes sont fausses
#End If

Explication

  • `condition`, `autreCondition` : Ce sont des expressions logiques basées sur des constantes de compilation. Habituellement, on définit ces constantes au début du module ou dans les paramètres du projet.
  • `#ElseIf` et `#Else` : Ceux-ci sont optionnels et permettent de définir des blocs de code supplémentaires pour des conditions alternatives.

Exemple d’utilisation

Supposons que vous avez besoin de compiler le code différemment selon si vous êtes en mode de débogage ou de version finale :

#Const DebugMode = True

Sub TesterDirective()
    #If DebugMode Then
        Debug.Print "Mode Débogage : Informations détaillées."
    #Else
        MsgBox "Version utilisateur : Fonctionnalité standard."
    #End If
End Sub

Définir des constantes de compilation

Les constantes comme `DebugMode` doivent être définies en haut de votre module à l’aide de la directive `#Const`, ou dans les propriétés du projet sous les configurations de compilation.

Points à retenir

  • Les directives `#If…Then…#Else` sont évaluées au moment de la compilation, pas lors de l’exécution.
  • Elles sont particulièrement utiles pour inclure ou exclure du code avant la compilation, surtout lors de la gestion de différentes configurations de build.

En utilisant cette syntaxe correctement, vous pouvez contrôler comment différentes portions de votre code VBA sont incluses ou exclues pendant la compilation.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project