Comment : exécuter plusieurs instructions à plusieurs reprises (Visual Basic)
Vous pouvez utiliser des structures de boucle pour exécuter à plusieurs reprises un bloc d'instructions. La boucle peut s'exécuter un nombre indéterminé de fois en fonction de la valeur Boolean d'une condition ou un nombre défini de fois en fonction d'une variable spéciale.
Bouclage d'un nombre indéterminé de fois
Pour exécuter un groupe d'instructions tant qu'une condition a la valeur True
Utilisez While...End While, instruction (Visual Basic) pour spécifier la condition qui contrôle la répétition de la boucle. L'exemple suivant répète le bloc d'instructions tant que number est supérieur à 6.
Sub checkWhile() Dim counter As Integer = 0 Dim number As Integer = 10 While number > 6 number -= 1 counter += 1 End While MsgBox("The loop ran " & counter & " times.") End Sub
L'instruction While vérifie toujours la condition avant de commencer la boucle. Si number a été initialisé à 6 au lieu de 10, les instructions à l'intérieur de la boucle ne sont jamais exécutées.
Pour exécuter un groupe d'instructions pendant qu'une condition conserve la valeur True
Utilisez Do...Loop, instruction (Visual Basic) et spécifiez la condition de test soit au début, soit à la fin de la boucle. Le positionnement du mot clé While détermine l'emplacement où la condition est testée. L'exemple suivant illustre ce comportement :
Sub checkWhileFirst() Dim counter As Integer = 0 Dim number As Integer = 10 Do While number > 6 number -= 1 counter += 1 Loop MsgBox("The loop ran " & counter & " times.") End Sub Sub checkWhileLast() Dim counter As Integer = 0 Dim number As Integer = 5 Do number -= 1 counter += 1 Loop While number > 6 MsgBox("The loop ran " & counter & " times.") End Sub
Dans l'exemple précédent, la première boucle Do s'exécute quatre fois et la deuxième boucle Do s'exécute une fois.
Pour exécuter un groupe d'instructions jusqu'à ce qu'une condition prenne la valeur True
Utilisez la construction Do...Loop avec le mot clé Until au lieu de While. Comme pour While, le positionnement du mot clé détermine l'emplacement où la condition est testée. L'exemple suivant illustre ce comportement.
Sub checkUntilFirst() Dim counter As Integer = 0 Dim number As Integer = 20 Do Until number = 15 number -= 1 counter += 1 Loop MsgBox("The loop ran " & counter & " times.") End Sub Sub checkUntilLast() Dim counter As Integer = 0 Dim number As Integer = 20 Do number -= 1 counter += 1 Loop Until number = 15 MsgBox("The loop ran " & counter & " times.") End Sub
Dans l'exemple précédent, chaque boucle Do s'exécute cinq fois.
Bouclage d'un nombre défini de fois
Les boucles While et Do sont d'une utilisation pratique lorsque vous ne connaissez pas à l'avance le nombre de fois où les instructions doivent être exécutées dans une boucle. Toutefois, si vous devez exécuter la boucle un certain nombre de fois, il est préférable d'utiliser For...Next, instruction (Visual Basic). Contrairement à une boucle While ou Do, une boucle For...Next utilise une variable de contrôle dont la valeur augmente ou diminue lors de chaque répétition de la boucle.
Pour exécuter un groupe d'instructions un nombre défini de fois
Déterminez les valeurs de début et de fin de la variable de contrôle, et utilisez l'instruction For pour les spécifier.
For i As Integer = 1 To 10
Si la variable de contrôle n'est pas déclarée hors de la boucle, vous pouvez utiliser la clause As pour la déclarer dans le cadre de l'instruction For.
Utilisez le mot clé Step pour indiquer de combien la variable de contrôle doit augmenter pour chaque itération. Elle augmente de 1, sauf indication contraire. Utilisez une valeur négative pour faire diminuer la variable de contrôle.
For i As Integer = 10 To 1 Step -1
Complétez la construction For...Next avec une instruction Next qui suit la dernière instruction à répéter. Vous pouvez spécifier la variable de contrôle dans l'instruction Next.
Function addBackward(ByVal highest As Integer) As Integer Dim total As Integer = 0 For i As Integer = highest To 1 Step -1 total += i Next i Return total End Function
L'exemple précédent retourne la somme de tous les nombres entiers de 1 jusqu'à la valeur passée au paramètre highest.
Voir aussi
Tâches
Comment : transférer un contrôle hors d'une structure de contrôle (Visual Basic)
Comment : améliorer les performances d'une boucle (Visual Basic)
Comment : passer à l'itération suivante d'une boucle (Visual Basic)
Référence
For Each...Next, instruction (Visual Basic)
Concepts
Structures de décision (Visual Basic)
Structures de boucle (Visual Basic)
Autres structures de contrôle (Visual Basic)
Structures de contrôle imbriquées (Visual Basic)