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

Résolu/Fermé
Baptiste_xls
Messages postés
6
Date d'inscription
mercredi 3 février 2021
Statut
Membre
Dernière intervention
10 mars 2021
- Modifié le 9 mars 2021 à 14:41
yg_be
Messages postés
19566
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2022
- 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

2 réponses

yg_be
Messages postés
19566
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2022
1 131
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
6
Date d'inscription
mercredi 3 février 2021
Statut
Membre
Dernière intervention
10 mars 2021

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
19566
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
3 juillet 2022
1 131
10 mars 2021 à 12:58
peux-tu alors marquer la discussion comme résolue?
0