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

4 mars 2014
Imprimer E-mail

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.

Vous pouvez imbriquer plusieurs boucles, mais ces boucles doivent s'imbriquer et non se superposer, pour éviter les erreurs, vous pouvez ajouter le nom de la variable après le mot Next :

BonMauvais
Sub BoucleFor()
   Dim Ligne As Byte, Col As Byte

   For Col = 1 To 2
      For Ligne = 1 To 5
         Cells(Ligne, Col) = Ligne & " * " & Col
      Next Ligne
      MsgBox "Colonne n° " & Col & "remplie"
   Next Col
End Sub

Sub BoucleFor()
   Dim Ligne As Byte, Col As Byte

   For Col = 1 To 2
      For Ligne = 1 To 5
         Cells(Ligne, Col) = Ligne & " * " & Col
      Next Col
      MsgBox "Colonne n° " & Col & "remplie"
   Next Ligne
End Sub