Directive #If...Then...#Else

Compile conditionnellement des blocs de code Visual Basic sélectionnés.

Syntaxe

#IfexpressionThen
statements
[ #ElseIfexpression-nThen
[ elseifstatements ]]
[ #Else
[ elsestatements ]]
#End If

La syntaxe de l’instruction #If...#Then...#Else comprend les éléments suivants :

Élément Description
expression Obligatoire. Toute expression, constituée exclusivement d’une ou plusieurs littéraux, opérateurs et constantes de compilation conditionnelle évalués à True ou False.
statements Obligatoire. Directives du compilateur ou lignes de programme Visual Basic évaluées si l’expression associée est True.
expression-n Facultatif. Toute expression, constituée exclusivement d’une ou plusieurs littéraux, opérateurs et constantes de compilation conditionnelle évalués à True ou False.
elseifstatements Facultatif. Une ou plusieurs directives du compilateur ou lignes de commande évaluées si expression-n est True.
elsestatements Facultatif. Une ou plusieurs directives du compilateur ou lignes de commande évaluées si aucune expression ou expression-n précédente n’a la valeur True.

Remarques

Le comportement de la directive #If... Puis... #Else est identique à l’instruction If...Then...Else, sauf qu’il n’existe aucune forme à ligne unique des directives #If, #Else, #ElseIf, et #End si ; autrement dit, aucun autre code ne peut apparaître sur la même ligne que les directives.

Le compilation conditionnelle est généralement utilisée pour compiler le même programme pour différentes plateformes. Il est également utilisé pour empêcher le code de débogage d’apparaître dans un fichier exécutable. Le code exclu durant la compilation conditionnelle est omis complètement du fichier exécutable final, il n’a donc aucun effet sur la taille ou la performance.

Quel que soit le résultat de n’importe quelle évaluation, toutes les expressions sont évaluées. Par conséquent, toutes les constantes utilisées dans les expressions doivent être définies - toute constante indéfinie est considérée comme Vide.

Remarque

L’instruction Option comparer n’affecte pas les expressions figurant dans les instructions#If et #ElseIf. Les expressions dans une directive de compilation conditionnelle sont toujours évaluées avec Option comparer texte.

Exemple

Cet exemple fait référence à des constantes de compilation conditionnelle dans une construction #If... Puis... #Else pour déterminer s’il faut compiler certaines instructions.

' If Mac evaluates as true, do the statements following the #If. 
#If Mac Then 
 '. Place exclusively Mac statements here. 
 '. 
 '. 
' Otherwise, if it is a 32-bit Windows program, do this: 
#ElseIf Win32 Then 
 '. Place exclusively 32-bit Windows statements here. 
 '. 
 '. 
' Otherwise, if it is neither, do this: 
#Else 
 '. Place other platform statements here. 
 '. 
 '. 
#End If

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.