Bonjour, j'aimerais créer une macro qui se charge de créer un tableau croisé dynamique.
Voici mon code :
Tout se passe bien jusqu'à la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "'O2C22 Daily CheckList'!R1C1:R557C31").CreatePivotTable TableDestination:="" _ , TableName:="Tableau croisé dynamique" ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select ActiveSheet.PivotTables("Tableau croisé dynamique").SmallGrid = False With ActiveSheet.PivotTables("Tableau croisé dynamique").PivotFields( _ "ORACLE ITEM CODE") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables("Tableau croisé dynamique").PivotFields( _ "ORDERED ITEM") .Orientation = xlRowField .Position = 2 End With With ActiveSheet.PivotTables("Tableau croisé dynamique").PivotFields("LOT") .Orientation = xlRowField .Position = 3 End With With ActiveSheet.PivotTables("Tableau croisé dynamique").PivotFields( _ "SHIPPED QUANTITY") .Orientation = xlDataField .Position = 1 End With Application.CommandBars("PivotTable").Visible = False ActiveSheet.PivotTables("Tableau croisé dynamique").PivotSelect _ "'ORACLE ITEM CODE'[Tous;Somme]", xlDataAndLabel Selection.Delete ActiveSheet.PivotTables("Tableau croisé dynamique").PivotSelect _ "'ORDERED ITEM'[Tous;Somme]", xlDataAndLabel Selection.Delete
Là, j'ai un message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ActiveSheet.PivotTables("Tableau croisé dynamique").PivotSelect _ "'ORACLE ITEM CODE'[Tous;Somme]", xlDataAndLabel
En fait cette ligne correspond à la sélection dans le tableau des lignes "somme" que l'on peut masquer à l'aide du clic droit -> masquerErreur d'exécution '1004':
La formule est incomplète. Vérifiez qu'un crochet de fin ] ne manque pas.
Je dois préciser que j'ai créé une macro "automatique" donc le code est généré automatiquement.
Merci pour votre aide.
Partager