VBA – Sortie d’un Tableau vers une Plage

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on décembre 23, 2021

Ce tutoriel montre comment remplir une plage à partir d’un tableau en utilisant VBA.

Sortie d’un Tableau Vers une Plage

Les données stockées dans un tableau peuvent facilement être imprimées dans une feuille Excel. Il y a 3 façons de le faire.

Sortie des Données Vers une Plage Différente

Nous pouvons remplir un tableau avec des données provenant d’une plage d’Excel, puis sortir les données dans une plage différente d’Excel.

Public Sub RemplissagePlage()
'Déclaration du tableau
   Dim rgTableau() As Variant
'Remplissage du tableau à partir de la plage
   rgTableau = Range("A1:H50")
'Sortie du tableau vers une autre plage de cellules
   Range("J1:Q50") = rgTableau()
End Sub

L’ensemble des données dans la plage d’origine est copié en une seule ligne de code dans le tableau, puis affiché dans son intégralité dans une autre plage de cellules de la feuille.

Boucle dans un Tableau et Sortie des Données

Cet exemple permet de boucler au travers des données d’un tableau et de sortir le tableau dans une plage un élément à la fois.

Public Sub BoucleRemplissagePlage()
'Déclaration du tableau
   Dim rgTableau() As Variant
'Déclaration de la variable qui contient le nombre de lignes
   Dim iLg As Integer
'Attribution d'une plage à la variable tableau
   rgTableau = Range("A1:A50")
'Boucle sur chaque valeurs du tableau
    For iLg = LBound(rgTableau) To UBound(rgTableau)
        'Remplissage d'une autre plage à partir des données
        Cells(iLg, 2).Value = rgTableau(iLg, 1)
    Next iLg
End Sub

LBound et UBound renvoient l’indice de départ (limite inférieure) et l’indice de fin (limite supérieure) d’un tableau, dans ce cas 1 et 50.

Transposition des Données d’un Tableau

Nous pouvons également transposer les données du tableau sur la feuille Excel. La transposition vous permet d’afficher les données horizontalement sur la feuille Excel.

Par exemple, si nous avons une liste des 50 États des États-Unis dans Excel et que nous souhaitons les transposer.

vba array transpose 1

Nous pourrions alors exécuter le code suivant :

Public Sub RemplissagePlageTransposé()
'Déclaration du tableau
   Dim rgTableau() As Variant
'Remplissage du tableau à partir de la plage
   rgTableau = Range("A1:A50")
'Transposition des données
   Range(Cells(1, 3), Cells(1, 53)).Value = Application.Transpose(rgTableau)
End Sub

Ce qui donnerait le résultat suivant :

vba array transpose 2

Sortie vers Debug.Print

Nous pouvons également afficher les valeurs du tableau dans la fenêtre de débogage.

Public Sub BoucleTableauFentreDébogage()
'Déclaration du tableau
   Dim rgTableau() As Variant
'Déclaration de la variable qui contient le nombre de lignes
   Dim iLg As Integer
'Attribution d'une plage à la variable tableau
   rgTableau = Range("A1:A50")
'Boucle sur chaque valeurs du tableau
    For iLg = LBound(rgTableau) To UBound(rgTableau)
        'Sortie des données dans la fenêtre d'exécution
        Debug.Print rgTableau(iLg, 1)
    Next iLg
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