Bonjour, j'aimerais créer une macro qui se charge de créer un tableau croisé dynamique.

Voici mon code :

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
Tout se passe bien jusqu'à la ligne :
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
Là, j'ai un message d'erreur :
Erreur d'exécution '1004':
La formule est incomplète. Vérifiez qu'un crochet de fin ] ne manque pas.
En fait cette ligne correspond à la sélection dans le tableau des lignes "somme" que l'on peut masquer à l'aide du clic droit -> masquer

Je dois préciser que j'ai créé une macro "automatique" donc le code est généré automatiquement.

Merci pour votre aide.