L'informatique à votre portée
L'informatique prêt-à-porter

Faites appel à moi pour vos formations
sur les dpts 81, 31, 82, 11 et 67 (Strasbourg)
Confiez moi vos développements Office

FacebookTwitterGoogle BookmarksLinkedin

For.......Each Next

Imprimer E-mail
4 mars 2014
Ces instructions permettent de répéter un bloc d'instructions pour chaque objet d'une collection ou pour chaque élément d'un tableau. La variable de la boucle est automatiquement affecté à l'objet ou à l'élément. Dans l'exemple suivant, La 1ere boucle remplit un tableau et une plage depuis ce tableau, puis la 2ème lit et sélectionne chaque cellule de la plage de cellules :
Sub BoucleForEach()
   Dim Tableau(4) As String
   Dim N
   Dim Compteur As Byte
   Dim MaCel As Range

   For Each N In Tableau
      Compteur = Compteur + 1
      N = "valeur n°" & Compteur
      Range("A" & Compteur) = N
   Next
   For Each MaCel In Range("A1:A" & Compteur)
      MaCel.Select
      MsgBox MaCel
   Next
End Sub

Vous pouvez sortir prématurément d'une boucle en utilisant Exit For.

For.......Next

Imprimer E-mail
4 mars 2014

Ces instructions permettent de répéter un bloc d'instructions un certain nombre de fois. Vous indiquez la valeur de départ du compteur, la valeur de fin de ce compteur et éventuellement le pas d'incrémentation de cette valeur.
Le code suivant, affiche 3 messages :
Sub BoucleFor()
  Dim N As Byte

  For N = 1 To 3
    MsgBox "Message d'essai numéro " & N
  Next
End Sub

Par défaut la valeur s'incrémente de 1, si vous voulez l'incrémenter différemment ou même la décrémenter utilisez le mot Step :

  • Avec le code For N = 1 To 5 Step 2, la variable N prend les valeurs 1,3 et 5.
  • Avec For N = 5 To 1 Step -2, la variable N prend les valeurs 5,3 et 1.

Vous pouvez sortir prématurément d'une boucle en utilisant Exit For.

Do.......Loop

Imprimer E-mail
4 mars 2014

Ces instructions permettent de répéter un bloc d'instructions indéfiniment :

  • jusqu'à ce qu'une condition soit vraie, vous utilisez alors Until devant la condition
  • tant qu'une condition est vraie, vous utilisez alors While devant la condition.

Vous pouvez obliger votre code a exécuter le bloc d'instruction au moins 1 fois, dans ce cas les instructions se présentent ainsi :