|
Présentation du problème
Si le
programme doit exécuter un bloc d'instructions en nombre prédéfini
on utilise la boucle
For …
To
… Next.
Exemple
:
For
i = 1 To 49
TabLoto(i)
= i ‘chaque case
contient son numéro
Next
i
Si le
nombre de passages dans la boucle est inconnu au départ, mais dépend d'une
condition dont la réalisation est
imprévisible cette structure n'est pas adaptée.
Exemple 1 :
Demander le mot de passe tant que
la réponse n'est pas le bon mot de passe.
Demander le mot de passe jusqu'à ce que
la réponse soit le bon mot de passe.
Exemple 2 :
Demander la saisie d'une note tant que
la réponse n'est pas un nombre entre 0 et 20.
Demander la saisie d'une note jusqu'à ce
que la réponse soit un nombre entre 0 et 20.
Boucle tant que
Syntaxe première version :
Do While
Condition
Instructions
[... Exit Do]
[Instructions]
Loop
La
condition est ici testée au début
c'est à dire à l’entrée de la boucle.
Avec
While (tant que) la boucle est répétée
tant que la condition est
vraie.
Si la
condition n’est pas vraie au départ les instructions de la boucle
ne sont pas exécutées.
Exemple :
Do
While MotProposé <> MotDePasse
MotProposé = InputBox("Donnez votre mot de passe")
Loop
Cela
présuppose MotProposé initialisé par une valeur autre que MotDePasse
(par
exemple la valeur par défaut "").
Syntaxe deuxième version :
Do
Instructions
[...
Exit Do]
[Instructions]
Loop While
Condition
La
condition est alors testée à la fin
de la boucle.
Avec
While (tant que) la boucle est répétée
tant que la condition est
vraie.
Les
instructions de la boucle sont donc exécutées au moins une fois.
Exemple :
Do
MotProposé = InputBox("Donnez votre mot de passe")
Loop While
MotProposé <> MotDePasse
Cet
exemple ne présuppose aucune initialisation de MotProposé.
Boucle jusqu'à ce que
Syntaxe première version :
Do Until
Condition
Instructions
[... Exit Do]
[Instructions]
Loop
La
condition est ici testée au début
c'est à dire à l’entrée de la boucle.
Avec
Until (jusqu'à) la boucle est répétée
jusqu'à ce que la condition soit
vraie.
Si la
condition est vraie au départ les instructions de la boucle ne
sont pas exécutées.
Exemple :
Do
Until MotProposé = MotDePasse
MotProposé = InputBox("Donnez votre mot de passe")
Loop
Cela
présuppose MotProposé initialisé par une valeur autre que MotDePasse
(par
exemple la valeur par défaut "").
Syntaxe deuxième version :
Do
Instructions
[...
Exit Do]
[Instructions]
Loop Until
Condition
La
condition est alors testée à la fin
de la boucle.
Les
instructions de la boucle sont donc exécutées au moins une fois.
Avec
Until (jusqu'à) la boucle est répétée
jusqu'à ce que la condition soit
vraie.
Exemple :
Do
MotProposé = InputBox("Donnez votre mot de passe")
Loop Until
MotProposé = MotDePasse
Cet
exemple ne présuppose aucune initialisation de MotProposé.
Boucle For … Each … Next
C’est
une extension de la boucle For ...
To … Next.
Syntaxe :
For Each
Elément In
Ensemble
Instructions
[ ... Exit For]
[Instructions]
Next
[Elément]
Ensemble est le plus souvent un tableau.
Exemple :
Dim
TabHasard(100) As Integer
Dim
Cellule As Integer
Dim
Réponse As String
Randomize
For Each
Cellule In TabHasard
Cellule =
Rnd * 100 + 1
Next
For Each
Cellule In TabHasard
Réponse = Réponse &
Cellule & " "
Next
MsgBox (Réponse)
|