Présentation détaillée : utilisation de Do...While et Do...Until pour poursuivre la répétition jusqu'à ce qu'une condition soit remplie

Mise à jour : novembre 2007

Dans cette leçon, vous apprendrez comment utiliser les instructions Do...While et Do...Until pour répéter un code selon certaines conditions.

Dans la leçon précédente, vous avez appris à utiliser l'instruction For...Next pour boucler sur un bloc de code un nombre de fois spécifié. Mais qu'en est-il si le nombre de répétition du code diffère en fonction des conditions ? Les instructions Do...While et Do...Until vous permettent de répéter un bloc de code tant qu'une certaine condition a la valeur True ou jusqu'à ce qu'une certaine condition ait la valeur True.

Par exemple, supposez qu'un de vos programmes ajoute une série de nombres. Toutefois, vous souhaitez que la somme de ces nombres ne soit jamais supérieure à 100. Pour ce faire, vous pouvez utiliser l'instruction Do...While afin de réaliser l'addition comme suit :

Dim sum As Integer = 0
Do While sum < 100
  sum = sum + 10
Loop

Dans ce code, la ligne Do While évalue la variable sum pour déterminer si sa valeur est inférieure à 100 : dans l'affirmative, la ligne de code suivante s'exécute, dans la négative, le programme passe à la ligne de code qui suit Loop. Le mot clé Loop demande au code de revenir à la ligne DoWhile et d'évaluer la nouvelle valeur de sum.

Essayez !

Pour utiliser une instruction Do...While

  1. Dans le menu Fichier, cliquez sur Nouveau projet.

  2. Dans la boîte de dialogue Nouveau projet, dans le volet Modèles, cliquez sur Application Windows.

  3. Dans la zone Nom, tapez DoWhile, puis cliquez sur OK.

    Un nouveau projet Windows Forms s'ouvre.

  4. Depuis la Boîte à outils, faites glisser un contrôle TextBox et un contrôle Button dans le formulaire.

  5. Double-cliquez sur Button pour ouvrir l'éditeur de code.

  6. Dans le gestionnaire d'événements Button1_Click, tapez le code suivant :

    Dim sum As Integer = 0
    Dim counter As Integer = 0
    Do While sum < 100
      sum = sum + CInt(Textbox1.Text)
      counter = counter + 1
    Loop
    MsgBox("The loop has run " & CStr(counter) & " times!")
    
  7. Appuyez sur F5pour exécuter le programme.

  8. Dans la zone de texte, tapez un nombre, puis cliquez sur le bouton.

    Un message s'affiche et indique à combien de reprises le nombre a été ajouté à lui-même avant d'atteindre la valeur 100.

  9. Pour arrêter le programme, cliquez sur Arrêter le débogage dans le menu Déboguer. Laissez le projet ouvert. Nous sommes sur le point de lui ajouter des éléments.

Instruction Do...Until

L'instruction Do...While répète une boucle tant que la valeur d'une condition reste True. Pourtant, vous pouvez parfois souhaiter que votre code se répète jusqu'à ce qu'une condition prenne la valeur True. Vous pouvez utiliser l'instruction Do...Until comme suit :

Dim sum As Integer = 0
Do Until sum >= 100
  sum = sum + 10
Loop

Ce code ressemble à celui de l'instruction Do...While, si ce n'est que, cette fois, il évalue la variable sum pour déterminer si elle est supérieure ou égale à 100.

Essayez !

Cette procédure commence là où « Pour utiliser une instruction Do... While » s'est arrêté. Si vous n'avez pas terminé « Pour utiliser une instruction Do... While », vous devez le faire avant de poursuivre.

Pour utiliser une instruction Do...Until

  1. Ajoutez le code suivant sous la ligne MsgBox :

    Dim sum2 As Integer = 0
    Dim counter2 As Integer = 0
    Do Until sum2 >= 100
      sum2 = sum2 + CInt(Textbox1.Text)
      counter2 = counter2 + 1
    Loop
    MsgBox("The loop has run " & CStr(counter2) & " times!")
    
  2. Appuyez sur F5 pour exécuter le programme.

  3. Dans la zone de texte, tapez un nombre, puis cliquez sur le bouton.

    Un deuxième message s'affiche et spécifie à combien de reprises le nombre a été ajouté à lui-même avant d'égaler ou de dépasser la valeur 100.

Étapes suivantes

Dans cette rubrique, vous avez appris comment utiliser les boucles Do...While et Do...Until pour répéter un code selon des conditions. À ce stade, vous pouvez passer à la leçon suivante, Choix d'un programme entre deux possibilités : instruction If...Then.

Voir aussi

Tâches

Configuration d'un programme pour la répétition d'actions : exécution d'une boucle avec la boucle For...Next

Référence

Do...Loop, instruction (Visual Basic)