Bonjour à tous,
Pourriez-vous m’aider à écrire la macro suivante.
Je voudrais insérer dans ma feuille « GROUPES » un tableau croisé dynamique avec les données de la feuille « bd » sachant que le nombre de ligne peut être variable.
J’ai écrit la macro suivante mais j’ai le message d’erreur Erreur d’exécution 5 Argument ou appel de procédure incorrect
Sub TableauCroiséDynamique()
'
' TableauCroiséDynamique Macro
'
Range("A1").Select
' Insertion nouvelle Feuille
BoolNexSheet = False
If BoolNewSheet = False Then
BoolNewSheet = True
Set NewSheet = Worksheets.Add
NewSheet.Name = "GROUPES"
End If
'Création Tableau Croisé Dynamique
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"bd!R1C1:R50000C18", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="GROUPES!R3C1", TableName:="Tableau croisé dynamique5", _
DefaultVersion:=xlPivotTableVersion12
Sheets("GROUPES").Select
Cells(1, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields( _
"Dénomination groupe")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("AA")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("BB")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("QQ")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("PP")
.Orientation = xlColumnField
.Position = 2
End With
ActiveSheet.PivotTables("Tableau croisé dynamique5").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique5").PivotFields("VAL PX NET"), _
"Nombre de VAL PX NET", xlCount
With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields( _
"Nombre de VAL PX NET")
.Caption = "Somme de VAL PX NET"
.Function = xlSum
.NumberFormat = "# ##0"
End With
Range("A7").Select
With ActiveSheet.PivotTables("Tableau croisé dynamique5")
.InGridDropZones = True
.RowAxisLayout xlTabularRow
End With
Range("B7").Select
ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("AA"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
Range("C6").Select
ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("BB"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
Range("A13").Select
ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields( _
"CC").Subtotals = Array(False, False, False, False, False, False, _
False, False, False, False, False, False)
Range("A1").Select
End Sub
Vous trouverez en pièce jointe mon classeur Excel.
D’avance merci à tous.
Pourriez-vous m’aider à écrire la macro suivante.
Je voudrais insérer dans ma feuille « GROUPES » un tableau croisé dynamique avec les données de la feuille « bd » sachant que le nombre de ligne peut être variable.
J’ai écrit la macro suivante mais j’ai le message d’erreur Erreur d’exécution 5 Argument ou appel de procédure incorrect
Sub TableauCroiséDynamique()
'
' TableauCroiséDynamique Macro
'
Range("A1").Select
' Insertion nouvelle Feuille
BoolNexSheet = False
If BoolNewSheet = False Then
BoolNewSheet = True
Set NewSheet = Worksheets.Add
NewSheet.Name = "GROUPES"
End If
'Création Tableau Croisé Dynamique
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"bd!R1C1:R50000C18", Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="GROUPES!R3C1", TableName:="Tableau croisé dynamique5", _
DefaultVersion:=xlPivotTableVersion12
Sheets("GROUPES").Select
Cells(1, 1).Select
With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields( _
"Dénomination groupe")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("AA")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("BB")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("QQ")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("PP")
.Orientation = xlColumnField
.Position = 2
End With
ActiveSheet.PivotTables("Tableau croisé dynamique5").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique5").PivotFields("VAL PX NET"), _
"Nombre de VAL PX NET", xlCount
With ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields( _
"Nombre de VAL PX NET")
.Caption = "Somme de VAL PX NET"
.Function = xlSum
.NumberFormat = "# ##0"
End With
Range("A7").Select
With ActiveSheet.PivotTables("Tableau croisé dynamique5")
.InGridDropZones = True
.RowAxisLayout xlTabularRow
End With
Range("B7").Select
ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("AA"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
Range("C6").Select
ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields("BB"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
Range("A13").Select
ActiveSheet.PivotTables("Tableau croisé dynamique5").PivotFields( _
"CC").Subtotals = Array(False, False, False, False, False, False, _
False, False, False, False, False, False)
Range("A1").Select
End Sub
Vous trouverez en pièce jointe mon classeur Excel.
D’avance merci à tous.