Table des matières
Tout en travaillant avec Microsoft Excel les tableaux Excel nous permettent de trier et de filtrer rapidement les données, d'ajouter de nouveaux enregistrements et de mettre à jour instantanément les graphiques et les tableaux croisés dynamiques. Et Excel VBA permet à l'utilisateur de personnaliser l'application à l'aide de quelques codes simples. Dans cet article, nous allons voir quelques exemples de Excel VBA pour créer un tableau à partir d'une gamme.
Télécharger le cahier d'exercices
Vous pouvez télécharger le cahier d'exercices et vous entraîner avec eux.
Créer un tableau à partir d'une plage.xlsm6 exemples d'Excel VBA pour créer un tableau à partir d'une plage de valeurs
Les tableaux étaient à l'origine des listes dans l'édition du menu d'Excel, mais ils ont gagné en fonctionnalité dans les variantes du ruban. La conversion d'une plage de données en tableau élargit les possibilités, vous permettant de travailler plus rapidement et plus facilement. convertir la plage en un tableau en utilisant VBA est le moyen le plus simple que d'utiliser le ruban.
Supposons que nous ayons un ensemble de données simple qui contient des éléments dans la colonne B la quantité de ces articles dans la colonne C et les ventes totales pour chaque article dans la colonne D Maintenant, nous voulons convertir la plage de données en un tableau. Nous allons montrer différents exemples et instructions pas à pas pour créer un tableau à partir d'une plage. B4:D9 avec Excel VBA.
Utilisez ListObjects.Add pour transformer une plage en un tableau Excel. L'objet Spreadsheet possède une caractéristique ListObjects . ListObjects a une technique appelée Ajouter Les critères pour .ajouter sont les suivants.
expression .Add(SourceType, Source, LinkSource, HasHeaders,Destination)
Et, utilisez le SourceType xlSrcRange .
1) Excel VBA pour générer un tableau à partir d'une plage de valeurs
Avec Excel VBA les utilisateurs peuvent facilement utiliser le code qui agit comme des menus Excel à partir du ruban. Pour utiliser l'option VBA pour générer un tableau à partir de la plage, suivons la procédure.
ÉTAPES :
- Tout d'abord, rendez-vous sur le site Développeur dans le ruban.
- Deuxièmement, du Code cliquez sur Visual Basic pour ouvrir le Éditeur Visual Basic ou appuyez sur Alt + F11 pour ouvrir le Éditeur Visual Basic .
- Au lieu de faire cela, vous pouvez simplement faire un clic droit sur votre feuille de calcul et aller à Afficher le code Cela vous amènera également à Éditeur Visual Basic .
- Cela apparaîtra dans le Éditeur Visual Basic où nous écrivons nos codes pour créer un tableau à partir d'une gamme.
- Troisièmement, cliquez sur Module de la Insérer dans la barre de menu déroulant.
- Cela créera un Module dans votre cahier d'exercices.
- Et, copiez et collez le VBA montré ci-dessous.
Code VBA :
Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub
- Après cela, exécutez le code en cliquant sur l'icône RubSub ou en appuyant sur le raccourci clavier F5 .
Vous n'avez pas besoin de modifier le code, il vous suffit de changer la plage en fonction de vos besoins.
- Et, enfin, en suivant les étapes, vous créerez une table à partir de l'intervalle B4:D9 .
Explication du code VBA
Sous Create_Table()
Sous est une partie du code qui est utilisée pour gérer le travail dans le code mais qui ne renvoie aucune valeur. Elle est également connue sous le nom de sous-procédure. Nous nommons donc notre procédure Create_Table() .
Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1".
C'est la ligne de code principale avec laquelle la plage est convertie en tableau. Comme nous savons déjà que ListObjects.Add pour transformer une plage en un tableau Excel. Et nous utilisons xlSrcRange comme type de source. Aussi, nous déclarons notre gamme Range("B4:D9") Et enfin, nommer notre table comme Tableau 1 .
End Sub
Cela mettra fin à la procédure.
Lire la suite : Comment mettre à jour la plage du tableau croisé dynamique (5 méthodes appropriées)
2. construire un tableau à partir d'une plage en utilisant Excel VBA
Voyons un autre exemple pour construire un tableau à partir d'une plage en utilisant Excel VBA.
ÉTAPES :
- Tout d'abord, allez sur le site Développez r dans le ruban.
- Ensuite, cliquez sur Visual Basic pour ouvrir le Éditeur Visual Basic .
- Une autre façon d'ouvrir le Éditeur Visual Basic consiste simplement à appuyer sur Alt + F11 .
- Ou bien, cliquez avec le bouton droit de la souris sur la feuille, puis sélectionnez Afficher le code .
- Ensuite, allez sur Insérer et sélectionnez Module dans le menu déroulant.
- Et, cela va ouvrir la fenêtre de Visual Basic.
- Après cela, copiez et collez le Code VBA ci-dessous.
Code VBA :
Sub Generate_Table() Dim tb2 As Range Dim wsht As Worksheet Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet ws.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2" End Sub
- En outre, appuyez sur la touche Touche F5 ou cliquez sur le Run Sub pour exécuter le code.
- Et vous obtiendrez le résultat suivant Méthode 1 .
Explication du code VBA
Dim tb2 As Range Dim wsht As Worksheet
Le site DIM déclaration dans VBA fait référence à " déclarer, "et il doit être utilisé pour déclarer une variable. Ainsi, nous déclarons notre gamme à tb2 et feuille de travail à ws .
Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet
VBA Set nous permet simplement d'éviter d'avoir à taper à plusieurs reprises la plage que nous devons sélectionner lors de l'exécution du code. Ainsi, nous définissons notre plage sur la région actuelle et notre feuille de calcul sur la feuille de calcul active.
wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2"
Avec cette ligne de code, nous créons la table à partir de la plage et nous nommons notre table Tableau 2 .
Lire la suite : Comment utiliser un tableau Excel avec VBA (9 façons possibles)
3. créer un tableau à partir d'une plage avec VBA dans Excel
Examinons un autre exemple d'utilisation d'Excel VBA pour créer un tableau à partir d'une plage.
ÉTAPES :
- Pour commencer, sélectionnez la plage entière que vous souhaitez convertir en tableau.
- Ensuite, cliquez sur le bouton Développeur dans le ruban.
- Troisièmement, lancez le Éditeur Visual Basic en cliquant sur Visual Basic .
- Vous pouvez également accéder au Éditeur Visual Basic en appuyant sur Alt + F11 .
- Ou, Cliquez à droite sur sur la feuille et choisissez Afficher le code dans le menu.
- Ensuite, choisissez le Module dans le menu déroulant sous Insérer .
- Et la fenêtre Visual Basic apparaîtra.
- Écrivez le code à cet endroit.
Code VBA :
Sub Create_Table3() Dim r As Range Dim wsht As Worksheet Dim tb3 As ListObject Set r = Selection.CurrentRegion Set wsht = ActiveSheet Set tb3 = wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=r, XlListObjecthasheaders:=x1Yes) End Sub
- Enfin, appuyez sur la touche Touche F5 pour exécuter le code.
- Et, cela va créer une table à partir de la gamme de données que nous avons obtenu en Méthode 1 .
Lire la suite : Comment créer un tableau dans Excel (avec personnalisation)
Lectures similaires
- Somme de champs calculés divisée par le nombre dans un tableau croisé dynamique
- Comment illustrer une distribution de fréquence relative dans Excel ?
- Tableau croisé dynamique Excel groupé par semaine (3 exemples appropriés)
- [Impossible de grouper des dates dans un tableau croisé dynamique : 4 solutions possibles
- Comment faire un tableau d'amortissement dans Excel (4 méthodes)
4. appliquer VBA pour créer un tableau dynamique à partir d'une plage
Voyons une autre façon de générer un tableau à partir d'une plage en utilisant Excel VBA.
ÉTAPES :
- Pour commencer, ouvrez le ruban et sélectionnez l'onglet Développeur option.
- Ensuite, pour accéder au Éditeur Visual Basic cliquez sur Visual Basic .
- Presser Alt + F11 fera également apparaître le Éditeur Visual Basic .
- Alternativement, Cliquez à droite sur la feuille et choisissez Afficher le code dans le menu qui apparaît.
- Maintenant, de la Insérer dans le menu déroulant, choisissez Module .
- Ensuite, copiez et collez le VBA qui suit.
Code VBA :
Sub Create_Dynamic_Table1() Dim tbOb As ListObject Dim TblRng As Range With Sheets("Example4") lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tbOb.Name = "DynamicTable1" tbOb.TableStyle = "TableStyleMedium14" End With EndSous
- Exécutez le code en appuyant sur la touche F5 clé.
- Comme illustré dans Méthode 1 Dans l'illustration de l'article, la table sera construite à partir de la gamme.
Explication du code VBA
Sous Create_Dynamic_Table1()
Cette ligne indique le nom de la sous-procédure.
Dim tbOb As ListObject Dim TblRng As Range
Ces deux lignes sont utilisées pour la déclaration des variables.
Avec Sheets("Exemple4")
Le site Avec déclaration vous permet d'effectuer une séquence d'instructions sur un seul objet sans avoir à requalifier le nom de l'objet. Ainsi, nous incluons l'instruction Avec déclaration avec le nom de la feuille.
lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column
Ils servent respectivement à trouver la dernière ligne et la dernière colonne.
Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn))
Plage pour créer la table.
Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes)
Créez un tableau dans la plage spécifiée ci-dessus.
tbOb.Name = "DynamicTable1" (table dynamique)
Spécifier le nom de la table
tbOb.TableStyle = "TableStyleMedium14"
Spécifiez le style de la table.
Lire la suite : Créer un tableau dans Excel en utilisant un raccourci (8 méthodes)
5. faire un tableau dynamique à partir d'une gamme
Voyons maintenant une autre méthode Excel VBA permettant de créer un tableau à partir d'une plage.
ÉTAPES :
- Pour commencer, ouvrez le ruban et choisissez Développeur dans le menu déroulant.
- Sélectionnez ensuite Visual Basic pour ouvrir le Éditeur Visual Basic .
- Le site Éditeur Visual Basic On peut également y accéder en appuyant sur Alt + F11 .
- Vous pouvez également Cliquez à droite sur la feuille et sélectionnez Afficher le code dans le menu contextuel.
- Après cela, sélectionnez Module de la Insérer dans le menu déroulant.
- Ensuite, copiez et collez le code VBA suivant.
Code VBA :
Sub Create_Dynamic_Table2() Dim tbObj As ListObject Dim TblRng As Range With Sheets("Example5") .Range("A1").Select Selection.CurrentRegion.Select Set tbObj = .ListObjects.Add(xlSrcRange, Selection, , xlYes) tbObj.Name = "DynamicTable2" tbObj.TableStyle = "TableStyleMedium15" End With End Sub
- Enfin, exécutez le code en appuyant sur F5 sur votre clavier et vous voyez le résultat dans votre feuille de travail.
- Et, comme cela a été démontré dans Méthode 1 Dans l'illustration de l'article, le tableau sera construit à partir de la gamme.
Lire la suite : Comment améliorer l'apparence des tableaux Excel (8 astuces efficaces)
6. utiliser Excel VBA pour créer un tableau dynamique
Explorons une autre méthode Excel VBA pour construire un tableau à partir d'une plage.
ÉTAPES :
- Au début, allez à la Développeur tab> ; Visual Basic > ; Insérer > ; Module .
- Ou, clic droit sur sur la feuille de calcul ouvrira une fenêtre, à partir de laquelle vous pourrez accéder à l'écran suivant Afficher le code .
- Et, cela vous amènera à la Éditeur Visual Basic dans lequel nous pouvons écrire des macros VBA.
- D'autre part, en appuyant sur Alt + F11 ouvrira également le Éditeur Visual Basic .
- Après cela, tapez le VBA code.
Code VBA :
Sub Create_Dynamic_Table3() Dim tableObj As ListObject Dim TblRng As Range With Sheets("Example6") lLastRow = .UsedRange.Rows.Count lLastColumn = .UsedRange.Columns.Count Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tableObj = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tableObj.Name = "DynamicTable3" tableObj.TableStyle = "TableStyleMedium16" End With End Sub
- Et, exécutez le code pour voir le résultat en appuyant sur la touche Touche F5 .
- Et, la table sera créée à partir de la gamme comme indiqué dans l'image ci-dessous. Méthode 1 .
Lire la suite : Comment créer un tableau dans Excel avec des données (5 façons)
Conclusion
Les méthodes ci-dessus vous aideront à créer un tableau à partir d'une plage dans Excel. J'espère que cela vous aidera ! Si vous avez des questions, des suggestions ou des commentaires, n'hésitez pas à nous en faire part dans la section des commentaires. Vous pouvez également jeter un coup d'œil à nos autres articles dans la section "Autres". ExcelWIKI.com blog !