Syntaxe
If condition Then [statements] [Else elsestatements]
Vous pouvez également utiliser la syntaxe suivante :
If condition Then
[statements]
[ElseIf condition-n Then
[elseifstatements] ...
[Else
[elsestatements]]
End If
La syntaxe de l'instruction If...Then...Else comprend les éléments suivants :
Élément Description
condition Un des deux types d'expression suivants :
Une expression numérique ou expression de chaîne qui prend la valeur True ou False. Si l'argument condition est Null, il est considéré comme False.
Une expression de la forme TypeOf objectname Is objecttype. Objectname est une référence à un objet et objecttype est un type d'objet valide. L'expression a pour valeur True si objectname est du type objet indiqué par objecttype ; sinon elle a pour valeur False.
statements Facultatif dans la feuille bloc ; nécessaire dans une feuille à une seule ligne sans clause Else. Une ou plusieurs instructions séparées par un signe deux-points ; exécutée si la valeur de condition est True.
condition-n Facultatif. Similaire à condition.
elseifstatements Facultatif. Une ou plusieurs instructions exécutées si la valeur de l'argument condition-n associé est True.
elsestatements Facultatif. Une ou plusieurs instructions exécutées si aucun argument condition précédent n’a la valeur True ou si la valeur de l'expression condition-n n'est pas True.
Remarques
Vous pouvez utiliser la syntaxe à une seule ligne (première syntaxe) pour effectuer de petits tests simples. Toutefois, la deuxième syntaxe fournit une plus grande structure et davantage de souplesse ; en outre, elle est généralement plus facile à lire, à mettre à jour et à corriger.
Note Dans le cas de la syntaxe à une seule ligne, il est possible d'exécuter plusieurs instructions à partir d'une décision If...Then. Toutes les instructions doivent se trouver sur la même ligne et être séparées par un signe deux-points, comme dans l'instruction suivante :
If A > 10 Then A = A + 1 : B = B + A : C = C + B
Une instruction If d'un bloc doit être la première instruction d'une ligne. Les éléments Else, ElseIf et End If de l'instruction peuvent être uniquement précédées d'un numéro de ligne ou d'une étiquette de ligne. Le bloc If doit se terminer par une instruction End If.
Pour déterminer si une instruction If est un bloc If, examinez ce qui suit le mot clé Then. S'il ne s'agit pas d'un commentaire, l'instruction est traitée comme une instruction If à une seule ligne.
Les clauses Else et ElseIf sont facultatifs. Un bloc If peut contenir autant de clauses Elself que vous le souhaitez, mais aucune ne peut apparaître après une clause Else. N'importe quel bloc d'instructions peut contenir des instructions If imbriquées.
Lorsque vous exécutez une instruction If d'un bloc (deuxième syntaxe), la condition est testée. Si la valeur de l'argument condition est True, les instructions qui suivent Then sont exécutées. Si la valeur de l'argument condition est False, chacune des conditions ElseIf (s'il y en a) sont évaluées l'une après l'autre. Quand une condition de valeur True est trouvée, les instructions qui suivent le Then correspondant sont exécutées. Si aucune des conditions Elself n'a pour valeur True, ou s'il n'y a pas de clause ElseIf, les instructions qui suivent Else sont exécutées. Une fois que les instructions qui suivent Then ou Else exécutées, l'exécution du programme se poursuit à partir de l'instruction située après End If.
Partager