Bonjour,

Je souhaite créer une macro depuis access qui qui me génère un un tableau croisé dynamique depuis un fichier excel.
J'ai activé les références excel dans VBE access et je tape le code qui suit:

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
Sub MonTCD()
Dim xlApp As Object
    Dim mySheet As Object
 
    Set xlApp = CreateObject("Excel.Application")
    Set mySheet = xlApp.Workbooks.Open("C:\Apps\Excel\test.xls") ' Définit le fichier EXCEL à ouvrir
 
    ' Endroit où mettre le code de pilotage
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Feuil1!R1C1:R10C8", 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( _
        "Material Desc")
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
        "Material Number")
        .Orientation = xlColumnField
        .Position = 1
    End With
 
    ' Code de fermeture
    mySheet.Save
    mySheet.Close
    xlApp.Quit
    Set xlApp = Nothing
    Set mySheet = Nothing
 
end sub
Je me suis inspiré pour écrire cela de bout de code un peu partout sur la toile.

Mais quand je lance ma macro avec access j'ai ce message d'erreur:
erreur d'exécution 5
Argument ou appel de procédure incorrect


Quelqu'un a-t-il la solution?

Merci d'avance!