Excel VBA : insérer des données dans un tableau (4 exemples)

  • Partage Ça
Hugh West

Dans cet article, nous allons illustrer comment insérer données dans un Excel tableau en utilisant VBA code Avec l'aide des propriétés et méthodes intégrées d'Excel, nous pouvons faciliter la fonctionnalité d'ajout ou d'écrasement de données dans un tableau. Plongeons dans les exemples pour bien comprendre les méthodes et les codes VBA.

Télécharger le cahier d'exercices

Téléchargez ce cahier d'exercices pour vous entraîner pendant que vous lisez cet article.

Insérer des données dans un tableau.xlsm

4 exemples pour insérer des données dans un tableau en utilisant VBA dans Excel

Disons que nous avons un liste de vente d'un magasin avec des détails comme la date de la commande, le nom du produit, la quantité, le prix unitaire et le prix total.

Comment créer un tableau dans Excel

A tourner le site jeu de données dans un Tableau Excel faites ce qui suit.

  • Sélectionnez le site ensemble des données .
  • Allez sur au Onglet Insertion de la Ruban Excel .
  • Cliquez sur sur le Tableau option.

  • Enfin, cliquez sur le bouton bouton OK dans le Fenêtre Créer une table.

  • Nous avons réussi à converti le site jeu de données dans un Tableau Excel .

Pour insérer des données dans un tableau Excel, nous utiliserons plusieurs méthodes. Fonctions VBA et propriétés dans notre code La section suivante décrit comment ouvrir et écrire le code dans le éditeur Visual Basic.

Écrire du code dans l'éditeur Visual Basic

Suivez les étapes à Ouvrir le site le site éditeur de base visuel et y écrire du code.

  • Allez à la Développeur de l'onglet Ruban Excel .
  • Cliquez sur le site Option Visual Basic.

  • Dans le Visual Basic pour les applications cliquez sur le bouton Insérer une liste déroulante à sélectionnez le site Nouveau module

Maintenant qu'un nouveau module est ouvert écrivez un peu de code et appuyez sur F5 à courir.

1. Insérer des données à la dernière ligne d'un tableau en utilisant VBA dans Excel

Dans cet exemple, nous allons utiliser un VBA code pour ajouter a nouveau rang au fond de la tableau et ensuite insérer les données dans ce domaine. Dans notre tableau, nous avons 4 rangs de données Pour ajouter le 5ème , copie et pâte le code suivant dans l'éditeur Visual Basic.

 Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add() With addedRow .Range(1) = "1/1/2022" .Range(2) = "Apple" .Range(3) = 5 .Range(4) = 1.77 End With End Sub 

Appuyez sur F5 à exécuter le site code.

Nous avons inséré a nouveau rang de données au fond de la tableau existant .

Explication du code :

  • Dans notre code, nous avons utilisé l'option Objet ListObjects de VBA Excel pour saisir le site tableau avec son nom Pour plus d'informations, chaque de la ListObject est un tableau sur le feuille de travail Pour obtenir le nom de la table, cliquez sur sur le tableau >> ; cliquez sur sur le Onglet Conception de la table dans le Ruban Excel.

  • Ensuite, nous avons utilisé le ListRows . Ajouter une méthode pour ajouter un nouveau rang dans le tableau Ceci méthode prend deux arguments : Position et ToujoursInsérer .

En saisissant un nombre entier nous pouvons spécifier le position relative de la nouvelle ligne ajoutée dans le tableau Dans cet exemple, nous laissé en blanc le site argument de position En conséquence, une nouveau rang a été ajouté au fond de la tableau .

  • Enfin, nous définissons les données dans chaque de la cellules de la nouvelle ligne ajoutée Dans ce cas, les données étaient .Range(1) = "1/1/2022" comme Date de la commande, .Range(2) = "Apple". comme Produit, .Range(3) = 5 comme Quantité, .Range(4) = 1.77 comme Prix unitaire.

Lire la suite : Nom du tableau Excel : tout ce que vous devez savoir

2. Exécuter un code VBA pour insérer des données sur une ligne spécifique d'un tableau dans Excel

Dans cette illustration, nous allons ajouter une ligne de données à un ligne spécifique relative au tableau en utilisant le même morceau de code que celui utilisé dans l'exemple ci-dessus. Dans ce cas, nous avons juste besoin de spécifier le site Argument de position de la Méthode ListRows.Add dans notre code. Disons que nous voulons ajouter des données de vente pour Orange avec des détails dans rang numéro 3 relatif à la tableau existant Pour que cela se produise, copie et pâte les éléments suivants code dans l'éditeur de code visuel.

 Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add(3) With addedRow .Range(1) = "1/1/2022" .Range(2) = "Orange" .Range(3) = 3 .Range(4) = 2.14 End With End Sub 

Exécution du code par en appuyant sur F5 inséré le site données de vente pour Orange dans le 3ème ligne par rapport au tableau .

Lire la suite : Code Excel VBA pour chaque ligne d'un tableau (ajout, écrasement, suppression, etc.)

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 ?
  • [Impossible de grouper des dates dans un tableau croisé dynamique : 4 solutions possibles
  • Comment calculer la distribution de fréquence en pourcentage dans Excel (2 méthodes)
  • Le tableau croisé dynamique ne se rafraîchit pas (5 problèmes et solutions)

3. Insérer et écraser des données dans un tableau en utilisant VBA dans Excel

Nous allons illustrer ici comment écraser le site données existantes dans un table à la place de en insérant a nouveau rang de données Pour ce faire, nous devons utiliser la fonction Propriété ListObject.ListRows d'Excel au lieu de de la Propriété ListRows.Add nous avons utilisé plus tôt . le Propriété ListObject.ListRows prend également numéro de rang ( Entier valeur ) comme son argument Disons que nous voulons changement le site prix par unité de la Orange de 2,14 à 2,35 que nous inséré dans le exemple précédent . Copie et pâte le code suivant dans l'éditeur Visual Basic.

 Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows(3) With addedRow .Range(1) = "1/1/2022" .Range(2) = "Orange" .Range(3) = 3 .Range(4) = 2.35 End With End Sub 

Dans notre code, nous set le site argument pour le Propriété ListObject.ListRows comme 3 où le données pour Orange appartient à Exécuter le site code en appuyant sur F5 et voir le différence .

Le code a modifié seulement le prix par unité de la données à l'adresse rang numéro 3 relatif à la tableau .

Lire la suite : Comment insérer ou supprimer des lignes et des colonnes dans un tableau Excel ?

4. Exécution d'un code VBA pour insérer des données dans un tableau Excel en fonction de la saisie de l'utilisateur

Dans cet exemple, nous allons insérer le site nom du tableau et détails de la vente d'un produit comme entrée utilisateur plutôt que code dur dans le Code VBA à chaque fois Pour ce faire, suivez les instructions ci-dessous.

  • Copie et pâte le code suivant dans l'éditeur de code visuel.
 Sub InsertDataIntoTable() Dim tableName As ListObject Dim A, B, C, D, tName As String tName = Application.InputBox(Prompt:="Nom de la table : ", Type:=2) A = Application.InputBox(Prompt:="Date de commande : ", Type:=2) B = Application.InputBox(Prompt:="Nom du produit : ", Type:=2) C = Application.InputBox(Prompt:="Quantité : ", Type:=2) D = Application.InputBox(Prompt:="Prix unitaire : ",Type:=2) Set tableName = ActiveSheet.ListObjects(tName) Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add() With addedRow .Range(1) = A .Range(2) = B .Range(3) = C .Range(4) = D End With End Sub 

  • Appuyez sur F5 à exécuter le code.
  • Mettez le site nom de la tableau dans le boîte de saisie ( Tableau 1 dans cet exemple) et appuyez sur OK.

  • Ensuite, mettez les valeurs pour Date d'achat, Nom du produit, Quantité, et Prix unitaire dans le les boîtes de saisie que sont apparus successivement Dans cet exemple, les valeurs utilisées sont les suivantes 1/1/2022, Orange, 3, et 35.

  • En conséquence, nous avons un nouveau rang avec le données insérées au fond de la tableau .

Lire la suite : Conseils pour la mise en forme des tableaux Excel - Modifier l'aspect du tableau

Notes

Quand nous ajouté a nouveau rang avec données en utilisant le code VBA, le format et formules obtenir adoptée à la nouvelle rangée automatiquement Dans notre exemple, le Prix total colonne sorties le site produit des colonnes Quantité et Prix unitaire Nous avons juste inséré uniquement le site Quantité et Valeurs des prix unitaires ; le nouveau rang était inséré avec le produit de ces deux valeurs dans le Colonne Prix total.

Conclusion

Nous savons maintenant comment insérer des données dans un tableau Excel à l'aide du code VBA. Nous espérons que cela vous aidera à utiliser ces méthodes avec plus de confiance. Si vous avez des questions ou des suggestions, n'oubliez pas de les poser dans la boîte de commentaires ci-dessous.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.