VBA – Sortie d’un Tableau vers une Plage
In this Article
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.
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 :
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!Learn More!