Instructions conditionnelles VBScript : IF…Else et ElseIF (Exemple)

⚡ Résumé intelligent

Les instructions conditionnelles VBScript permettent à un programme de prendre des décisions et d'exécuter un code différent en fonction d'une condition. VBScript propose quatre formes : If…Then, If…Then…Else, If…Then…ElseIf et Select Case, qui sélectionne un bloc parmi plusieurs en fonction d'une valeur correspondante.

  • 🔀 Si…Alors : Exécute un bloc de code uniquement lorsqu'une condition est vraie, et doit se terminer par End If.
  • ↔️ Si… Alors… Sinon : Choisit entre deux blocs, en exécutant l'un lorsque la condition est vraie et l'autre sinon.
  • 🪜 Si…Alors…SinonSi : Teste plusieurs conditions dans l'ordre et exécute le premier bloc correspondant.
  • Sélectionnez le cas : Compare une variable à plusieurs valeurs, une alternative plus propre aux longues chaînes ElseIf.
  • EntréeBox Démo: L'exemple relatif à l'âge lit les données saisies par l'utilisateur et sélectionne un message en fonction de la valeur entrée.
  • ⚠️ Marqueurs d'extrémité : Les blocs « Si » nécessitent une instruction « End If » et les instructions « Select Case » nécessitent une instruction « End Select », sinon le code ne produit aucune sortie.

Instruction conditionnelle VBScript

Qu’est-ce qu’une instruction conditionnelle ?

Lors de la programmation, vous devrez prendre certaines décisions et effectuer différentes actions en fonction de ces décisions.

Dans de telles situations, vous utiliserez des instructions conditionnelles.

En VBScript, il existe quatre types d'instructions conditionnelles : If…Then, If…Then…Else, If…Then…ElseIf et Select Case.

Instruction VBScript If Then

Vous utiliserez l'instruction VBScript If-Then si vous souhaitez exécuter du code lorsqu'une condition spécifique est vraie.

Par exemple, vous souhaitez afficher le message « Bienvenue » chaque fois que la valeur de la variablelogIn est vraie.

Dans ce cas, vous utiliserez l’instruction If…Then dans VBS.

If loggedIn = true Then
document.write("Welcome")
End If

REMARQUE : Si vous oubliez de terminer le code par End If, vous n'obtiendrez aucune sortie.

Instruction VBScript si sinon

Vous utiliserez l'instruction If…Then…Else de VBScript si vous souhaitez sélectionner l'un des deux blocs de code à exécuter.

Par exemple, vous souhaitez afficher le message « Salut, bonjour » lorsque la valeur d'une variable nommée « temps » est inférieure ou égale à dix et afficher le message « Salut, bonne journée » sinon.

Dans ce cas, vous utiliserez l'instruction If…Then…Else.

If time <= 10 Then
document.write("Hi, Good Morning")
Else
document.write("Hi, Good Day")
End If

Instruction VBScript If Elseif

Vous utiliserez l'instruction If…Then…ElseIf si vous devez sélectionner un bloc de code parmi plusieurs à exécuter.

Par exemple, Si vous souhaitez modifier le résultat en fonction du jour de la semaine, vous devez utiliser l'instruction If…Then…ElseIf.

If today="Sunday" Then
document.write("Today is Sunday")
ElseIf today="Monday" Then
document.write("Today is Monday")
ElseIf today="Tuesday" Then
document.write("Today is Tuesday")
ElseIf today="Wednesday" Then
document.write("Today is Wednesday")
ElseIf today="Thursday" Then
document.write("Today is Thursday")
ElseIf today="Friday" Then
document.write("Today is Friday")
ElseIf today="Saturday" Then
document.write("Today is Saturday")
End If

Instruction de cas VBScript SELECT

Tout comme l'instruction If…Then…ElseIf, l'instruction Case de VBScript peut également être utilisée si vous devez sélectionner l'un des nombreux blocs de code à exécuter.

Le même code ci-dessus peut être écrit comme ceci à l’aide de l’instruction Select Case.

Select Case today
Case "Sunday"
document.write("Today is Sunday")
Case "Monday"
document.write("Today is Monday")
Case "Tuesday"
document.write("Today is Tuesday")
Case "Wednesday"
document.write("Today is Wednesday")
Case "Thursday"
document.write("Today is Thursday")
Case "Friday"
document.write("Today is Friday")
Case "Saturday"
document.write("Today is Saturday")
End Select

Essayez le code ci-dessous pour rendre le concept plus clair.

Si sinon si exemple

Étape 1) Copiez le code dans votre éditeur

<html>
<head>
<script type="text/vbscript">
Dim age
age = InputBox("Enter your age")
If age<18 Then
document.write("You are too young.")
ElseIf age<45 Then
document.write("You are still young.")
ElseIf age<70 Then
document.write("You are getting older.")
Else
document.write("You are too old.")
End If

</script>

</head>
<body>
</body>
</html>

Étape 2) Enregistrez le fichier sous condition.html à votre emplacement préféré.

Ouvrez maintenant le fichier dans Internet Explorer et votre écran ressemblera à ceci avec une case vous demandant de saisir votre âge.

Instruction de cas VBScript SELECT

Entrez une valeur numérique, par exemple 22. Vous recevrez un message comme celui-ci.

Instruction de cas VBScript SELECT

Entrez différentes valeurs et observez le résultat.

FAQ

Utilisez Select Case pour comparer une variable à plusieurs valeurs fixes ; c’est plus concis qu’une longue série de ElseIf. Utilisez ElseIf lorsque les conditions testent différentes variables ou plages de valeurs.

Oui. Une instruction If sur une seule ligne, comme If x=1 Then y=2, ne nécessite pas de End If. End If n'est requis que lorsque le bloc If s'étend sur plusieurs lignes et contient des instructions distinctes.

Non. VBScript ne possède pas d'opérateur ternaire (?:) ni de fonction IIf intégrée. Utilisez un bloc If…Then…Else complet, ou écrivez une petite fonction auxiliaire, pour sélectionner une valeur en fonction d'une condition.

Oui. L'IA peut transformer une séquence If…ElseIf répétitive en un bloc Select Case équivalent, améliorant ainsi la lisibilité. Elle peut également signaler les conditions non convertibles, comme les vérifications de plage.

L'IA peut détecter les instructions `EndIf` ou `EndSelect` manquantes, les opérateurs de comparaison incorrects et les branches inaccessibles. Elle explique pourquoi une condition n'est jamais exécutée et suggère la solution, réduisant ainsi les bogues silencieux sans résultat.

Résumez cet article avec :