Microsoft® Visual Basic® Scripting Edition Utilisation des instructions conditionnelles |
Didacticiel VBScript Précédent Suivant |
Contrôle de l'exécution du programme
Vous pouvez contrôler le déroulement de votre script à l'aide d'instructions conditionnelles et d'instructions de boucle. Les instructions conditionnelles vous permettent d'écrire du code VBScript qui prend des décisions et répète des actions. Les instructions conditionnelles suivantes sont disponibles dans VBScript :
- Instruction If...Then...Else
- Instruction Select Case
Prises de décision avec If...Then...Else
L'instruction If...Then...Else vous permet d'évaluer si une condition a pour valeur True (vraie) ou False (fausse) et, en fonction du résultat, de spécifier une ou plusieurs instructions à exécuter. En général, la condition est une expression qui utilise un opérateur de comparaison pour comparer une valeur ou une variable avec une autre. Pour des informations sur les opérateurs de comparaison, reportez-vous à Opérateurs de comparaison. Il est possible d'imbriquer les instructions If...Then...Else sur autant de niveaux que nécessaire.
Exécution d'instructions si une condition a pour valeur True (vraie)
Pour exécuter une seule instruction lorsqu'une condition a pour valeur True, utilisez la syntaxe monoligne de l'instruction If...Then...Else. L'exemple ci-dessous présente la syntaxe monoligne. Remarquez que cet exemple ne comporte pas le mot clé Else.Pour exécuter plusieurs lignes de code, vous devez utiliser la syntaxe multiligne (ou syntaxe de bloc). Cette syntaxe comprend l'instruction End If comme le montre l'illustration ci-dessous :Sub MajDate() Dim maDate maDate = #2/13/95# If maDate < Now Then maDate = Now End Sub
Sub AlerterUtilisateur(valeur) If valeur = 0 Then AlertLabel.ForeColor = vbRed AlertLabel.Font.Bold = True AlertLabel.Font.Italic = True End If End Sub
Exécution de certaines instructions si une condition a pour valeur True et exécution d'autres instructions si une condition a pour valeur False
Vous pouvez utiliser l'instruction If...Then...Else pour définir deux blocs d'instructions exécutables : un bloc à exécuter si la condition a pour valeur True, et un autre bloc à exécuter si la condition a pour valeur False.Sub AlerterUtilisateur(valeur) If valeur = 0 Then AlertLabel.ForeColor = vbRed AlertLabel.Font.Bold = True AlertLabel.Font.Italic = True Else AlertLabel.Forecolor = vbBlack AlertLabel.Font.Bold = False AlertLabel.Font.Italic = False End If End Sub
Choisir entre plusieurs alternatives
Une variante de l'instruction If...Then...Else vous permet de choisir entre plusieurs alternatives. L'ajout de clauses ElseIf étend la fonctionnalité de l'instruction If...Then...Else pour vous permettre de contrôler le déroulement du programme en fonction de différentes possibilités. Par exemple :Vous pouvez ajouter autant de clauses ElseIf que nécessaire pour créer des alternatives. Mais une utilisation extensive des clauses ElseIf peut devenir complexe. L'instruction Select Case constitue le meilleur moyen de choisir entre plusieurs alternatives.Sub AfficherValeur(value) If value = 0 Then MsgBox valeur ElseIf value = 1 Then MsgBox valeur ElseIf value = 2 Then Msgbox valeur Else Msgbox "Valeur hors limites!" End If
Prises de décision avec Select Case
La structure Select Case offre une alternative à If...Then...ElseIf pour exécuter de façon sélective un bloc d'instructions parmi plusieurs. Une instruction Select Case offre les mêmes possibilités que If...Then...Else, mais rend le code plus efficace et plus lisible.Une structure Select Case fonctionne avec une seule expression de test, évaluée une fois, au début de la structure. Le résultat de l'expression est ensuite comparé avec les valeurs de chaque bloc Case de la structure. Lorsqu'il y a correspondance, le bloc d'instructions Case concerné s'exécute :
Remarquez que la structure Select Case évalue l'expression une fois au début de la structure. Par contre, la structure If...Then...ElseIf peut évaluer une expression différente pour chaque instruction ElseIf. Vous pouvez remplacer une structure If...Then...ElseIf par une structure Select Case uniquement si chaque instruction ElseIf évalue la même expression.Select Case Document.Form1.CardType.Options(SelectedIndex).Text Case "MasterCard" AfficherLogoMC ValiderCompteMC Case "Visa" AfficherLogoVisa ValiderCompteVisa Case "American Express" AfficherLogoAMEXCO ValiderCompteAMEXCO Case Else AfficherInconnue Redemander End Select