Bonjour,
Je suis débutant en VBA, en clair pour l'instant je ne créé du code que via l'enregistreur de macro.
A partir d'un tableau (nb de colonnes fixe, nb de lignes variable), je dois réaliser un tableau croisé dynamique.
J'enregistre la création du tableau et je termine l'enregistrement dès qu'il est affiché.
En lançant la macro : "Erreur 1004, la méthode addfields de la classe tablepivot a échouée"
J'ai lu que l'erreur 1004 est assez générique, mais si vous pouviez m'aider... voici mon code :
Sub DMS()
'
' DMS Macro
' test
'
'
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"insert!C1:C10").CreatePivotTable TableDestination:= _
"'[modèle fichier global.xls]total'!R5C1", TableName:= _
"Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields RowFields:= _
Array("NOM AGENT", "Données"), ColumnFields:="NOM CLIENT FACTURE"
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("CA")
.Orientation = xlDataField
.Caption = "Somme de CA"
.Position = 1
.Function = xlSum
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"QUANTITE")
.Orientation = xlDataField
.Caption = "Somme de QUANTITE"
.Function = xlSum
End With
End Sub
NOM AGENTS / NON CLIENT FACTURE / CA / QUANTITE sont des titres de colonnes du tableau source.
Pour définir la source du tableau croisé dynamique, je sélectionne les colonnes complètes car le nb de lignes du tableau peut varier dans le temps (j'ai également essayer en prenant une zone source plus délimitée mais l'erreur persiste).
Merci par avance.
