Les boucles

Accueil

Boucle For compteur ..... Next
Boucle Do While.. Loop
Boucle For Each ... Next

Boucle For

For compteur=début TO fin Step pas
  Instruction1
  Instruction2
  ……..
Next compteur

Exécute la suite d’instructions entre For et Next.

Next compteur augmente la valeur de la variable Compteur à chaque passage de la boucle.

Sur l'exemple nous modifions la largeur des colonnes pour 100x2 colonnes:

Sub largeur()
  Range("A1").Select ' curseur sur A1
  For compteur = 1 To 100
    Selection.ColumnWidth = 15
    ActiveCell.Offset(0, 1).Select ' déplace le courseur à droite
    Selection.ColumnWidth = 5
    ActiveCell.Offset(0, 1).Select
  Next compteur
End Sub

Largeur.xls

Sur l’exemple ci dessous, nous affichons les 12 mois de l’année:

Sub Essai
  For m=1 To 12
     Cells(m, 1) = DateSerial(2007, m, 1)
  Next m
End Sub

01/01/2007
01/02/2007
01/03/2007

Affiche la palette des couleurs:

Sub Palette()
  Range("A1").Select                     ' positionne le curseur sur A1
   For c = 1 To 56
     ActiveCell = c
     ActiveCell.Offset(0, 1).Interior.ColorIndex = c
     ActiveCell.Offset(1, 0).Select    ' déplace le curseur d'une ligne
   Next c
End Sub

Autre version:

Sub Palette()
  For c = 1 To 56
    Cells(c, 1) = c
    Cells(c, 2).Interior.ColorIndex = c
  Next c
End Sub

Palette.xls

Boucle Do...While

Do While condition
Instruction1
Instruction2
……..
Loop

La boucle Do While condition.... Loop exécute les instructions entre Do et Loop tant que la condition spécifiée est vérifiée.

Sur cet exemple nous colorions une ligne sur 2

Coloriage.xls

Sub coloriage_un_sur_deux()
  Range("A2:D2").Select                ' sélectionne e champ A2:D2
  Do While ActiveCell <> ""
    Selection.Interior.ColorIndex = 36
    Selection.Offset(2, 0).Select      ' Curseur en dessous
  Loop
End Sub

Affiche le 1er de chque mois.

Sub essai()
  Dim m
  m = 1
  Do While m <= 12
     Cells(m, 1) = DateSerial(2007, m, 1)
     m = m + 1
  Loop
End Sub

01/01/2007
01/02/2007
01/03/2007
……………

Boucle For Each

Permet de de parcourir les éléments d’une collection.
Sur l’exemple, on parcours toutes les cellules du champ sélectionné.

Sub essai
   For each c in Selection
     c.value=Ucase(c.value) ' convertit en majuscules
   Next c
End Sub

 

 

 

 

 

 

 

 

 

 

Exemples

Largeur.xls
Palette.xls
Coloriage.xls