Partager via


Comment : exécuter plusieurs instructions à plusieurs reprises

Mise à jour : novembre 2007

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 (Visual Basic) 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

  1. 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.

  2. 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
    
  3. 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

Comment : exécuter plusieurs instructions pour chaque élément dans une collection ou un tableau

Comment : améliorer les performances d'une boucle

Comment : passer à l'itération suivante d'une boucle

Concepts

Structures de décision

Structures de boucle

Autres structures de contrôle

Structures de contrôle imbriquées

Référence

For Each...Next, instruction (Visual Basic)

Autres ressources

Flux de contrôle en Visual Basic