VBA ListObjects avec tableau structuré

Bonjour,
J'essaie de comprendre la manipulation des tableaux structurés avec ListObjects. J'ai pris comme exemple un tuto trouvé sur le site et j'ai modifié le code proposé pour aller un peu plus loin. Ce code procède à différentes actions sur le tableau mais la dernière qui doit ajouter une ligne n'étend pas la formule de la dernière colonne. Et là je coince un peu. Si quelqu'un pouvait m'aider pour cette partie de code qui permettrait l'extension des formules de toutes les colonnes (à venir) des lignes ajoutées je lui serais très reconnaissants.

Bonjour

Ce code procède à différentes actions sur le tableau mais la dernière qui doit ajouter une ligne n'étend pas la formule de la dernière colonne.

Je suppose que vous parlez de la formule en colonne F.
Si oui, vous n'avez pas besoin de code pour étendre une formule.
Lorsque vous complétez votre premier ligne dans le tableau structuré, ajoutez votre formule manuellement.
Ensuite elle sera automatiquement ajoutée lorsque vous compléterez la deuxième ligne et les suivantes

Ensuite votre code comme ceci

'Ajouter une ligne en fin de tableau
 Set ligne = .ListRows.Add
    i = ligne.Index
    With .DataBodyRange
        .Item(i, 1) = "Pomme"
        .Item(i, 2) = "Rana"
        .Item(i, 3) = 17
        .Item(i, 4) = 14.55
    End With

Cordialement

Bonjour

La méthode Array ne fonctionne que si le nombre de colonnes est le même entre array et cible.

Tu peux éventuellement replacer la ligne par

.DataBodyRange.Rows(.DataBodyRange.Rows.Count).Resize(, .ListColumns.Count - 1) = Array("Pomme", "France", 17, 14.55)

Car cela concerne la dernière colonne mais pour ma part je n'aime pas cette façon de procéder lié à l'ordre des colonnes qui peut évoluer.

Je préfère me baser sur les titres de colonnes qu'Excel trouvera toujours

De même, la référence à la feuille est inutile : il vaut mieux partir du nom du tableau : Excel le trouvera

[TableVenteFruits].Listobject
ou
Range("TableVenteFruits").Listobject

Bonsoir,

Merci à vous deux. Dans un premier temps j'ai référencé avec le nom du tableau comme proposé par Chris en début de code. Ensuite j'ai pris le bout de code de Dan et vraiment tout fonctionne bien maintenant.

Bonjour

Rechercher des sujets similaires à "vba listobjects tableau structure"