guillaumegh
XLDnaute Nouveau
Bonjour a tous
Mon maitre de stage me demande de realiser une macro qui a pour fonction de creer un tcd.
Le tableau de base contient les colonnes
Div.
Gest.
Article
Réf client Mag.
Utilis. libr
GpCl
Don. ordre
SM planif.
Qté CdeCl ouverte
Cdes client en cours
Grpe march.
Dans mon TCD, je dois avoir
-Comme etiquette de ligne les champs "Article" et "Utilis. libr"
-Comme etiquette de colonne "SM planif."
-Comme valeurs "Qté CdeCl ouverte", sous forme de somme de celles ci.
J arrive a créer le tcd sans macro, mais dès que j'utilise la commande "enregistrer une macro" etc etc, cela m affiche une erreur '5'!
Voila le code de ma macro, merci d avance a tous
Sub Macro1()
'
' Macro1 Macro
'
'
Range("A1:M80").Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Feuil1!R1C1:R80C13", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="Feuil2!R3C1", TableName:="Tableau croisé dynamique1", _
DefaultVersion:=xlPivotTableVersion12
Sheets("Feuil2").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Article" _
)
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Utilis. libr")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"SM planif.")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique1").PivotFields("Qté CdeCl ouverte"), _
"Somme de Qté CdeCl ouverte", xlSum
Range("C5").Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Somme de Qté CdeCl ouverte")
.Calculation = xlRunningTotal
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Somme de Qté CdeCl ouverte")
.BaseField = "SM planif."
End With
End Sub
Mon maitre de stage me demande de realiser une macro qui a pour fonction de creer un tcd.
Le tableau de base contient les colonnes
Div.
Gest.
Article
Réf client Mag.
Utilis. libr
GpCl
Don. ordre
SM planif.
Qté CdeCl ouverte
Cdes client en cours
Grpe march.
Dans mon TCD, je dois avoir
-Comme etiquette de ligne les champs "Article" et "Utilis. libr"
-Comme etiquette de colonne "SM planif."
-Comme valeurs "Qté CdeCl ouverte", sous forme de somme de celles ci.
J arrive a créer le tcd sans macro, mais dès que j'utilise la commande "enregistrer une macro" etc etc, cela m affiche une erreur '5'!
Voila le code de ma macro, merci d avance a tous
Sub Macro1()
'
' Macro1 Macro
'
'
Range("A1:M80").Select
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Feuil1!R1C1:R80C13", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="Feuil2!R3C1", TableName:="Tableau croisé dynamique1", _
DefaultVersion:=xlPivotTableVersion12
Sheets("Feuil2").Select
Cells(3, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Article" _
)
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Utilis. libr")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"SM planif.")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique1").PivotFields("Qté CdeCl ouverte"), _
"Somme de Qté CdeCl ouverte", xlSum
Range("C5").Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Somme de Qté CdeCl ouverte")
.Calculation = xlRunningTotal
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Somme de Qté CdeCl ouverte")
.BaseField = "SM planif."
End With
End Sub