Nommer mon TCD avec VBA

Bonjour,

je suis actuellement en train d'essayer de réduire le temps de manipulation de mes fichiers . Pour ce faire, je tente d'automatiser mes TCD avec VBA.

J'utilise pour le moment :

Worksheets("sheet1").Activate

Range("A1").Select

Set objTable = Sheet1.PivotTableWizard

J'ai trouvé ça interessant car il m'ouvre le Tableau dans une nouvelle page dédiée et il comprend que la taille du tableau peut varier. J'arrive facilement à décider de la forme de mon tableau avec :

Set objField = objTable.PivotFields("V2")

objField.Orientation = xlRowField

Set objField = objTable.PivotFields("Client")

objField.Orientation = xlRowField

Set objField = objTable.PivotFields("BU")

objField.Orientation = xlColumnField

Set objField = objTable.PivotFields("Brut")

objField.Orientation = xlDataField

objField.Function = xlSum

objField.NumberFormat = "#,##0 €"

Malheureusement une fois cela accomplie je suis bloqué car j'aimerais pouvoir faire la mise en page du tableau. Seulement le nom de mon tableau change à chaque utilisation : Pivot_Table1 puis 2 puis 3 puis 4 puis 5.

Voyez plutôt : j'ai enregistré une macro pour mettre en vert les lignes de totaux mais celle-ci a besoin d'un nom de tableau fixe pour marcher.

ActiveSheet.PivotTables("PivotTable4").PivotSelect "V2[All;Total]", _

xlDataAndLabel, True

With Selection.Interior

.Pattern = xlSolid

.PatternColorIndex = xlAutomatic

.ThemeColor = xlThemeColorAccent3

.TintAndShade = -0.249977111117893

.PatternTintAndShade = 0

End With

J'ai tenté plein de magouilles pour renommer le TCD mais en vain. Sur internet les sujets n'utilisent pas la même methode de TCD que moi (set objtable). Merci de m'aider à renommer ce TCD pour enfin pouvoir le modifier à ma convenance!

Bonjour,

Tout dépend du nombre de TCD que tu as dans chacune de tes feuilles ...

Tu peux te simplifier la vie avec un TCD par feuille ...

HI!

Non je n'ai qu'une feuille et qu'un TCD dans ce fichier et je le supprime à chaque fois que je l'utilise. Malgré cela, la macro se souvient qu'elle a déjà créé PivotTalbe1 puis 2 puis 3 et nommera le prochain PivotTable4

Bonjour,

ActiveSheet.PivotTables(1).PivotSelect "V2[All;Total]", _
xlDataAndLabel, True
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent3
.TintAndShade = -0.249977111117893
.PatternTintAndShade = 0
End With

Bonjour Jean Eric,

effectivement je viens aussi de trouver la solution sur un forum anglais. Le (1) permet de selectionner le premier TCD de la feuille de façon automatique.

ActiveSheet.PivotTables(1).Name = "TCD"

Merci <3

Du coup, l'index te suffit ...

ActiveSheet.PivotTables(1).Name = "Mon TCD"

Rechercher des sujets similaires à "nommer mon tcd vba"