Les Boucles ..
 
 
La Boucle For ... Next  
 

L'expression For ... Next permet d'exécuter un bloc d'instructions un certain nombre de fois. 
Sa syntaxe est : 

    For compteur = début to fin 
    ... instructions répétées ... 
    Next
compteur est une simple variable que l'on appelle aussi index de boucle 

Prenons un exemple concret : 

    For index = 0 to10 
        document.write index & "<BR>" 
    Next
Au premier passage, la variable index, étant initialisée à 0, vaut bien entendu 0. Le script affiche 0. 
Le mot NEXT termine ce passage et renvoie sur FOR 
La variable index est alors incrémentée (par défaut) d'une unité. La variable vaut alors 1 et le script affiche 1. 
Puis un nouveau tour est effectué ..on incrémente de 1, la variable vaut alors 2 et le script affiche 2. 
Ainsi de suite jusqu'à ce que la variable soit égale à 10 ..alors  le script affichera 10 (donc valeur de fin comprise). 
Puis on quittera la boucle for..
Ensuite la boucle étant interrompue, le script passe donc à l'instruction suivant le Next. 

Il est possible de définir la valeur d'incrémentation ( qui est de 1 par défaut) ou de décrémentation. 
For... Next devient : 

    For compteur = début to fin Step incrément 
    ... instructions répétées ... 
    Next
Ainsi pour afficher que les nombres pairs de 10 à 20 ( 10,12,14,etc..)... 
    For i = 10 to 20 Step 2 
     document.write i & "<BR>" 
    Next
Au premier passage, la variable i, étant initialisée à 10, vaut bien entendu 10. Le script affiche 10. Elle est alors incrémentée de la valeur de Step soit 2. La variable vaut alors 12 et le script affiche 12. On incrémente de 2 (valeur de Step), la variable vaut alors 14 et le script affiche 14. Ainsi de suite jusqu'à 20 et le script affichera 20 (donc valeur de fin comprise). Ensuite la boucle est interrompue et le script passe à l'instruction suivant le Next. 

Il est aussi possible de faire éxécuter des boucles For décrémentantes..
Par ex:

For j=100 to 10 step -5  'step a une valeur négative
  document.write "j = " & j & " - "
next

Dans cet exemple step est égal à -5 donc la variable index évoluera de 100 à 10 ( 100,95,90,85,etc..).
Par défaut step=+1 pour toutes les boucles For..Next

La Boucle While  ... Wend  

La Boucle While s'effectue tant que la condition testée est VRAIE . 
Dès que la condition est FAUSSE , la boucle est quittée et l'instruction qui suit Wend est exécutée. 
' 
Sa syntaxe est : 

    While condition 
    ... instructions répétées ... 
    Wend
Prenons un exemple concret : 
    x=10 
    while x <= 20 
      Document.Write "x = " & x & "<BR>" 
    x = x + 2 
    Wend
Cet exemple donne le même résultat que la boucle for de l'exemple ci-dessus..

La Boucle Do ..Loop 

Elle permet de varier les modes de sortie de boucle par une condition While ou Until . 
En Anglais : While signifie Tant que..    et  Until signifie  Jusqu'à ce que.. 

  • la boucle Do..While exécutée tant qu'une condition est vérifiée.
  • la boucle Do..Until  exécutée jusqu'à ce qu'une condition soit vérifiée.
Syntaxe exemple avec While... 
    Do While condition 
      ....instructions à exécuter si condition VRAIE 
    Loop
Syntaxe exemple avec Until... 
    Do Until condition 
      ....instructions à exécuter si condition VRAIE 
    Loop
Autre syntaxe possible .. les mots clés While ou Until peuvent être placés en fin de boucle : 
Syntaxe exemple: 
    Do 
     instructions à exécuter.. 
    Loop [ While | Until ] condition à tester
Un exemple concret très simple!! 
    x = 0 
    Do 
     Document.Write "x = " & x & "<BR>" 
     x = x + 1 
    Loop Until x > 10
Encore un autre Exemple... 
    x = 10 
    Do While x >= 0 
     Document.Write "x = " & (10-x) & "<BR>" 
     x = x - 1 
    Loop
Vous pouvez constater que ces diverses formes de boucles permettent de résoudre tous les cas de figures ..