Comment Ca Marche l'informatique ?
Accueil
Forum
Aide
bordure
Page d'accueil
Ajouter aux favoris
Signalez une erreur
Ecrire à Jean-Francois Pillou
Introduction
Caractéristiques
Types de données
Variables
Opérateurs
Structures conditionnelles
Version 2.0.3
VBScript - les structures conditionnelles Page précédente Retour à la page d'accueil

Qu'est-ce qu'une structure conditionnelle?

On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (VBScript associe le mot clé true à 1 et false à 0). Ces structures conditionnelles peuvent être associées à des structures qui se répètent suivant la réalisation de la condition, on appelle ces structures des structures de boucle

La notion de bloc

Une expression située sur une ligne du script est appelée instruction. Par exemple a++; est une instruction.
Lorsque l'on veut regrouper plusieurs instructions, on peut créer ce que l'on appelle un bloc, c'est-à-dire un ensemble d'instructions sur plusieurs lignes.

Les instructions if, et for, et select peuvent par exemple être suivies d'un bloc d'instructions à exécuter...

L'instruction if ... then

L'instruction if .. then est la structure de test la plus basique, on la retrouve dans tous les langages (avec une syntaxe différente...). Elle permet d'exécuter une série d'instruction si jamais une condition est réalisée.

La syntaxe de cette expression est la suivante:


if condition then instruction

Lorsqu'une instruction if est suivie de plusieurs instructions, il est essentiel de terminer la série d'instructions par le mot-clé End If. La syntaxe est la suivante:

if condition then 

instruction1

instruction2

...

End If

Remarques:

  • la condition doit être entre des parenthèses
  • il est possible de définir plusieurs conditions à remplir avec les opérateurs ET et OU (AND et OR)
    par exemple l'instruction suivante teste si les deux conditions sont vraies
    if condition1 AND condition2
    L'instruction ci-dessous exécutera les instructions si l'une ou l'autre des deux conditions est vraie:
    if condition1 OR condition2
  • s'il n'y a qu'une instruction, le mot-clé End If n'est pas nécessaires...

L'instruction if .. then .. else

L'instruction if dans sa forme basique ne permet de tester qu'une condition, or la plupart du temps on aimerait pouvoir choisir les instructions à exécuter en cas de non réalisation de la condition...
L'expression if .. then .. else permet d'exécuter une autre série d'instruction en cas de non-réalisation de la condition.

La syntaxe de cette expression est la suivante:


if condition then

liste d'instructions 

else

autre série d'instructions

End If

L'instruction if ... ElseIf ... else

L'instruction if ... else ne permet de tester qu'une condition, or il est parfois nécessaire de tester plusieurs conditions de façon exclusive, c'est-à-dire que sur toutes les conditions une seule sera réalisée ...
L'expression if ... elseif ... else permet d'enchaîner une série d'instructions et évite d'avoir à imbriquer des instructions if.

La syntaxe de cette expression est la suivante:


if condition then

liste d'instructions 

elseif autre_condition

autre série d'instructions

...

else  

derniere série d'instructions

End If

L'instruction Select Case

L'instruction Select Case permet de faire plusieurs tests de valeurs sur le contenu d'une même variable. Ce branchement conditionnel simplifie beaucoup le test de plusieurs valeurs d'une variable, car cette opération aurait été compliquée (mais possible) avec des if imbriqués. Sa syntaxe est la suivante:


Select Case (Expression) 

Case Valeur1: 

	Liste d'instructions

Case Valeur2: 

	Liste d'instructions

Case Valeur...: 

	Liste d'instructions

Case Else 

	Liste d'instructions

End Select

Lorsque l'expression testée est égale à une des valeurs suivant un case, la liste d'instruction qui suit celui-ci est exécuté. Le mot clé Case Else précède la liste d'instructions qui sera exécutée si l'expression n'est jamais égale à une des valeurs.

Les boucles

Les boucles sont des structures qui permettent d'exécuter plusieurs fois la même série d'instructions jusqu'à ce qu'une condition ne soit plus réalisée...
On appelle parfois ces structures "instructions répétitives" ou bien "itérations".
La façon la plus commune de faire une boucle, est de créer un compteur (une variable qui s'incrémente, c'est-à-dire qui augmente de 1 à chaque tour de boucle) et de faire arrêter la boucle lorsque le compteur dépasse une certaine valeur.

La boucle for

L'instruction for permet d'exécuter plusieurs fois la même série d'instructions: c'est une boucle!

Dans sa syntaxe, il suffit de préciser le nom de la variable qui sert de compteur, sa valeur de départ, celle de fin (c'est-à-dire celle pour laquelle la boucle s'arrête) et le pas des incrémentations (ou décrémentations).

La syntaxe de cette expression est la suivante:


for compteur = Début To Fin [Pas Valeur]

liste d'instructions 

Next [compteur]

Par exemple:


for i = 1 To 5

Print i

Next 


Cette boucle affiche 5 fois la valeur de i, c'est-à-dire 1,2,3,4,5
Elle commence à i=1, vérifie que i est bien inférieur à 6, etc... jusqu'à atteindre la valeur i=6, pour laquelle la condition ne sera plus réalisée, la boucle s'interrompra et le programme continuera son cours.

  • Le pas peut être positif ou négatif
  • une instruction Print dans votre boucle est un bon moyen pour vérifier la valeur du compteur pas à pas en l'affichant!
    • Si le pas est positif, la valeur de départ doit être plus petite que celle de fin
    • Si le pas est négatif, la valeur de départ doit être plus grande que celle de fin
  • il faut bien compter le nombre de fois que l'on veut faire exécuter la boucle:
    • for i=0 to 10 exécute 11 fois la boucle (i de 0 à 10)
    • for i=1 To 10 exécute 10 fois la boucle (i de 1 à 10)

L'instruction Do While.. Loop

L'instruction Do While .. Loop (généralement appelée while dans les autres langages) représente un autre moyen d'exécuter plusieurs fois la même série d'instructions.

La syntaxe de cette expression est la suivante:


Do While condition

liste d'instructions 

Loop

Cette instruction exécute la liste d'instructions tant que (do while est un mot anglais qui signifie faire tant que) la condition est réalisée.
La condition de sortie pouvant être n'importe quelle structure conditionnelle, les risques de boucle infinie (boucle dont la condition est toujours vraie) sont grands, c'est-à-dire qu'elle risque de provoquer un plantage de ActiveXTM Scripting!

Il existe une autre façon d'utiliser ce type de boucle, elle consiste à effectuer le test de la condition en sortie de boucle, ce qui signifie que les instructions contenues dans le corps de la boucle seront exécutées au moins une fois. Voici la syntaxe de cette structure alternative:


Do 

liste d'instructions 

Loop While condition

L'instruction For Each

L'instruction For Each est similaire à l'instruction For en ce sens qu'elle permet de répéter une série d'instructions non plus en fonction d'une valeur qui s'incrémente (ou se dédrémente) mais en fonction d'une série de valeurs contenues dans un objet ou bien un tableau.

La syntaxe de cette expression est la suivante:


For Each Valeur In Valeurs

liste d'instructions 

Next Element

CE type de structure est particulièrement utile pour parcourir les différents éléments d'un tableau (ou d'une collection d'objets) dont on ne connait pas le nombre d'éléments.

Arrêt d'exécution du script

VBScript autorise l'utilisation de la commande exit, qui permet d'interrompre totalement l'interprétation du script, ce qui signifie que l'application s'arrête: le script est figé dans son état actuel. cette instruction est particulièrement utile lors de l'apparition d'erreurs!


Page précédente site de reference

Ce document issu de CommentCaMarche.net est soumis à la licence GNU FDL. Vous pouvez copier, modifier des copies de cette page tant que cette note apparaît clairement.