VBA : enregistrer macro pour TCD
Résolu
beenie
-
beenie -
beenie -
Bonjour,
Etant novice sur VBA, je rencontre un petit un problème que je n'arrive pas à résoudre lorsque j'essaie d'enregistrer une macro pour générer un TCD. Voici le code :
Sub Macro2()
'
' Macro2 Macro
'
'
Range("A1:G218").Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Frais!R1C1:R218C7", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="Feuil1!R3C1", TableName:="Tableau croisé dynamique1", _
DefaultVersion:=xlPivotTableVersion12
Sheets("Feuil1").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Mois")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Catégorie")
.Orientation = xlRowField
.Position = 2
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique1").PivotFields("Montant TTC"), _
"Somme de Montant TTC", xlSum
End Sub
Une "erreur d'exécution '1004' Erreur définie par l'application ou l'objet" se produit et je n'arrive pas à résoudre ce problème.
Je vous saurais gré de bien vouloir m'aider.
Merci
Etant novice sur VBA, je rencontre un petit un problème que je n'arrive pas à résoudre lorsque j'essaie d'enregistrer une macro pour générer un TCD. Voici le code :
Sub Macro2()
'
' Macro2 Macro
'
'
Range("A1:G218").Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Frais!R1C1:R218C7", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="Feuil1!R3C1", TableName:="Tableau croisé dynamique1", _
DefaultVersion:=xlPivotTableVersion12
Sheets("Feuil1").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Mois")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Catégorie")
.Orientation = xlRowField
.Position = 2
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique1").PivotFields("Montant TTC"), _
"Somme de Montant TTC", xlSum
End Sub
Une "erreur d'exécution '1004' Erreur définie par l'application ou l'objet" se produit et je n'arrive pas à résoudre ce problème.
Je vous saurais gré de bien vouloir m'aider.
Merci
A voir également:
- VBA : enregistrer macro pour TCD
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Dépassement de capacité vba ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
1 réponse
Bonjour,
Essayer avec cette procédure modifiée au niveau du nom de la feuille ajoutée (shtdc) :
Essayer avec cette procédure modifiée au niveau du nom de la feuille ajoutée (shtdc) :
Sub Macro2() ' Range("A1:G218").Select Sheets.Add shtdc = ActiveSheet.Name ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "Frais!R1C1:R218C7", Version:=xlPivotTableVersion12).CreatePivotTable _ TableDestination:=shtdc & "!R3C1", TableName:="Tableau croisé dynamique1", _ DefaultVersion:=xlPivotTableVersion12 Sheets(shtdc).Select Cells(3, 1).Select With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Mois") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _ "Catégorie") .Orientation = xlRowField .Position = 2 End With ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _ PivotTables("Tableau croisé dynamique1").PivotFields("Montant TTC"), _ "Somme de Montant TTC", xlSum End Sub
Encore merci