If...Then...Else, instruction

Microsoft VBScript

Microsoft® Visual Basic® Scripting Edition If...Then...Else, instruction  Référence du langage 
Version 1 


Description
Exécute un groupe d'instructions soumises à une condition, en fonction de la valeur d'une expression.
Syntaxe
If condition Then statements [Else elsestatements ]

Ou, vous pouvez utiliser la syntaxe suivante, plus polyvalente :

If condition Then
    [statements]
[ElseIf condition-n Then
    [elseifstatements]] . . .
[Else
    [elsestatements]]
End If

La syntaxe de l'instruction If...Then...Else comporte les éléments suivants :

Élément Description
condition Un ou plusieurs types d'expressions suivants :

Une expression numérique ou une expression de chaîne qui produit la valeur True ou False. Si condition est Null, l'élément condition est traité comme False.

Une expression de la forme TypeOf objectname Is objecttype. L'élément objectname est toute référence d'objet et l'élément objecttype est tout type d'objet valide. L'expression est True si objectname est le type d'objet spécifié par typeobjet ; dans le cas contraire, sa valeur est False.

statements Une ou plusieurs instructions séparées par deux-points ; exécutées si condition est True. condition-n Condition identique. elseifstatements Une ou plusieurs instructions exécutées si la condition-n est True. elsestatements Une ou plusieurs instructions exécutées si aucune expression de condition ou condition-n n'est True.
Notes
Vous pouvez utiliser la forme en ligne simple (première syntaxe) pour les tests courts et simples. Toutefois, la forme en bloc (seconde syntaxe) fournit une structure plus solide et une plus grande souplesse que la forme en ligne simple, et elle est souvent plus facile à lire, à mettre à jour et à déboguer.


Remarque Avec la syntaxe en ligne simple, il est possible de provoquer l'exécution de plusieurs instructions comme résultat d'une décision If...Then, mais elles doivent toutes être sur la même ligne et séparées par deux- points, comme dans l'instruction suivante:

If A > 10 Then A = A + 1 : B = 
B + A : C = C + B

Lors de l'exécution d'un bloc If (seconde syntaxe), condition est testé. Si condition est True, les instructions suivant Then sont exécutées. Si condition est False, chaque clause ElseIf (s'il en existe) est évaluée à tour de rôle. Quand une condition True est trouvée, les instructions suivant l'élément Then sont exécutées. Si aucune des instructions ElseIf n'est True (ou s'il n'existe pas de clause ElseIf), les instructions suivant Else sont exécutées. Après l'exécution des instructions suivant Then ou Else, l'exécution se poursuit avec l'instruction suivant End If.

Les clauses Else et ElseIf sont toutes deux facultatives. Vous pouvez intégrer autant d'instructions ElseIf que vous voulez dans un bloc If, mais aucune ne peut apparaître après la clause Else. Les instructions de blocs If peuvent être imbriquées, autrement dit, se contenir l'une l'autre.

Ce qui suit le mot clé Then est examiné pour déterminer si une instruction est un bloc If ou non. Si tout élément autre qu'un commentaire apparaît après Then sur la même ligne, l'instruction est traitée comme une instruction If en ligne simple.

Une instruction contenant des blocs If doit être la première instruction sur une ligne. Le bloc If doit terminer une instruction End If.