j'ai un problème concernant la création d'un TCD sur une feuille (TCD) dont les données sont sur une autre (Janv).
J'ai utilisé l'enregistreur de macro + un bout de code trouvé sur un internet que j'ai adapté à ma sauce...
Le voici:
Application.ScreenUpdating = 0
Sheets("TCD").Select
Cells.ClearContents
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Janv!R10C1:R95C38", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="TCD!R2C1", TableName:="TCD", _
DefaultVersion:=xlPivotTableVersion12
Sheets("TCD").Select
Cells(2, 1).Select
With ActiveSheet.PivotTables("TCD").PivotFields("Lot")
.Orientation = xlRowField
.Position = 1
.PivotItems("(blank)").Visible = False
End With
ActiveSheet.PivotTables("TCD").AddDataField ActiveSheet. _
PivotTables("TCD").PivotFields("Total"), "Somme de Nb", _
xlSum
l'erreur est la suivante: il me crée bien le TCD au bon endroit mais il n'arrive pas à rajouter les champs que je veux dans le rapport. Cela bloque à la ligne "With ActiveSheet.PivotTables("TCD").PivotFields("Lot")" avec l'erreur d'éxécution 1004 Erreur définie par l'application ou par l'objet.
Cela pourrait provenir de plusieurs choses:
- pour la colonne "lot", les mêmes lots apparaissent sur plusieurs lignes (donc peut être une case qu'excel coche automatiquement pour éviter les doublons lorsque l'on créé un TCD en manu et qui n'apparait pas forcément avec l'enregistreur de macro)
- j'ai d'autres feuilles dans le même classeur avec exactement la même présentation que la feuille "Janv". Peut être y a t il des conflits avec ceux là.
Si vous pouvez m'éclairer et aussi m'indiquer comment je peux rajouter sur le forum mon fichier pour que cela soit plus simple!
Merci.
P.S: j'avais posté sur un autre forum la même question mais sans réponse (car suite à un post de 2010...)
C'est bon ça fonctionne!
En fait le problème venait bien du fait que la colonne "lot" s'appelait de la même façon sur plusieurs feuilles différentes. je l'ai donc renommé pour chaque feuille du genre "lot_janv" avec une écriture en blanc pour le _janv.