Création TCD erreur 1004 "Le nom du champ de tcd n'est pas valide"

Résolu/Fermé
Baptiste_xls Messages postés 15 Date d'inscription mercredi 3 février 2021 Statut Membre Dernière intervention 2 août 2022 - Modifié le 9 mars 2021 à 14:41
yg_be Messages postés 23346 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 novembre 2024 - 10 mars 2021 à 12:58
Bonjour à tous,

Dans la création automatique d'un TCD sous VBA je rencontre une erreur.
Dans le code ci-dessous je crée un TCD vide :
Sub PivotTable()
Dim pvtable As PivotTable
Dim pvcache As PivotCache
Dim pvrange As Range
Dim pvsheet As Worksheet
Dim pdsheet As Worksheet
Dim plr As Long
Dim plc As Long

On Error Resume Next
Application.DisplayAlerts = False
Application.ScreenUpdating = False

Worksheets("pvsheet").Delete
Worksheets.Add After:=ActiveSheet

ActiveSheet.Name = "pvsheet"

On Error GoTo 0

Set pvsheet = Worksheets("pvsheet")
Set pdsheet = Worksheets("pdsheet")

plr = pdsheet.Cells(Rows.Count, 1).End(xlUp).Row
plc = pdsheet.Cells(1, Columns.Count).End(xlToLeft).Column

Set pvrange = pdsheet.Cells(1, 3).Resize(plr, plc)

Set pvcache = ActiveWorkbook.PivotCaches.Create(xlDatabase, SourceData:=pvrange)

Set pvtable = pvcache.CreatePivotTable(TableDestination:=pvsheet.Cells(1, 1), TableName:="Nat10")

End Sub


Tout marche bien jusqu'à la dernière ligne en gras. Je rencontre une erreur qui me dit :
"Le nom du champ de tableau croisé dynamique n'est pas valide. Pour créer un rapport de tcd, vous devez utiliser des données sous forme de liste avec des étiquettes de colonnes... "

Je n'ai pas compris d'où provient l'erreur. En sachant que ma source de données commence en A3. (Peut-être changer le Cells de la variable plr et plc ? )
plr = pdsheet.Cells(Rows.Count, 1).End(xlUp).Row
plc = pdsheet.Cells(1, Columns.Count).End(xlToLeft).Column


(pdsheet = feuille où il y la source de données
pvsheet = feuille qui accueille le TCD)

Si vous avez une idée, je vous en serais reconnaissant...

Baptiste
A voir également:

2 réponses

yg_be Messages postés 23346 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 novembre 2024 Ambassadeur 1 552
9 mars 2021 à 21:45
bonjour,
as-tu utilisé l'enregistreur de macros pour comprendre comment créer un TCD?
0
Baptiste_xls Messages postés 15 Date d'inscription mercredi 3 février 2021 Statut Membre Dernière intervention 2 août 2022 1
10 mars 2021 à 10:04
Bonjour non je ne me suis pas appuyé directement sur ça.

Finalement le code marche si les entêtes de colonnes sont sur la première ligne...
0
yg_be Messages postés 23346 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 novembre 2024 1 552
10 mars 2021 à 12:58
peux-tu alors marquer la discussion comme résolue?
0