VBA Boucle à Travers un Tableau et ses Éléments

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on décembre 23, 2021

Ce tutoriel vous apprendra à boucler à travers des tableaux en VBA.

Il existe deux façons principales de boucler dans des tableaux en utilisant VBA :

  • Boucle For Each – La boucle For Each parcourt chaque élément du tableau.
  • Boucle For Next – La boucle For Next parcourt les positions de début et de fin spécifiées du tableau (nous pouvons utiliser les fonctions UBound et LBound pour parcourir tout le tableau).

Boucle « For Each » pour Parcourir les Éléments du Tableau

La Boucle For Each vous permet d’exécuter une itération de la boucle pour chaque élément du tableau.

Sub BoucleForEachTableauStatique()
   'Déclaration d'un tableau de type Variant
   Dim strNoms(1 To 4) As String

   'Popule les valeurs du tableau
   strNoms(1) = "Bob"
   strNoms(2) = "Peter"
   strNoms(3) = "Keith"
   strNoms(4) = "Sam"

   'Déclaration d'une variable de type variant pour
   'contenir les éléments du tableau
   Dim item As Variant

   'Boucle à travers le tableau (une itération par élément)
   For Each item In strNoms
      'Affiche l'élément dans la fenêtre d'exécution
      Debug.Print item
   Next item
End Sub

La procédure ci-dessus permet de parcourir en boucle tous les noms du tableau.

Boucle « For Next »

La boucle For Next parcourt chaque élément à partir d’une position de début jusqu’à une position de fin spécifiée du tableau.

Boucle à Travers une Partie du Tableau

Vous pouvez spécifier manuellement les positions de début et de fin de votre boucle. Cela peut s’avérer utile si vous connaissez la taille de votre tableau et/ou si vous souhaitez uniquement parcourir une partie du tableau.

Sub BoucleForNextTableauStatique()
    'Déclaration d'un tableau de type Variant
    Dim strNoms(1 To 4) As String
    
    'Popule les valeurs du tableau
    strNoms(1) = "Bob"
    strNoms(2) = "Peter"
    strNoms(3) = "Keith"
    strNoms(4) = "Sam"
   
    'Déclaration d'une variable de type Nombre Entier
    Dim i As Integer
    
    'Boucle à partir de la position 2 jusqu'à la position 3 du tableau
    For i = 2 To 3
    'Affiche le nom de l'élément correspodant dans le fenêtre d'exécution
       Debug.Print strNoms(i)
    Next i
End Sub

Dans l’exemple ci-dessus, nous avons parcouru en boucle les positions 2 et 3 du tableau. La fenêtre immédiate affiche les noms comme suit.

Boucle à Travers un Tableau Entier

Ensuite, nous allons utiliser les fonctions UBound et LBound pour parcourir en boucle un tableau entier. Ces fonctions sont extrêmement utiles si les positions de début et de fin du tableau sont susceptibles de changer (par exemple, dans le cas d’un tableau dynamique) :

Sub BoucleForNextDynamique()
    'Déclaration d'un tableau de type Variant
    Dim strNoms() As String
    
    ' Initialisation du tableau
    ReDim strNoms(1 To 4)
    
    'Popule les valeurs du tableau
    strNoms(1) = "Bob"
    strNoms(2) = "Peter"
    strNoms(3) = "Keith"
    strNoms(4) = "Sam"
   
    'Déclaration d'une variable de type Nombre Entier
    Dim i As Integer
    
    'Boucle à partir de la position de départ jusqu'à la position finale du tableau
    For i = LBound(strNoms) To UBound(strNoms)
    
    'Affiche le nom de l'élément correspodant dans le fenêtre d'exécution
       Debug.Print strNoms(i)
    Next i
End Sub

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!
vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA