Bonjour,

malgré la lecture de moults tutos présentants des méthodes diverses et variées, je n'arrive pas à créer un TCD sur une feuille Excel

J'alimente une première feuille avec les données que je veux analyser via un export Access par un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "QueryTemp", sFile
Ensuite, j'ouvre mon fichier Excel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
    'Création instance Excel
    Set xlsApp = Excel.Application
    'Ouverture fichier Excel
    Set XlsWB = xlsApp.Workbooks.Open(sFile, , False)
puis je veux créer mon TCD
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
   XlsWB.Activate
   XlsWB.Sheets(sSheetName).Select 'Pas sûr que ces 2 lignes soient obligatoires, mais dans le doute...
   XlsWB.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=Sheets("QueryTemp").Range("A1:F751")).CreatePivotTable _
        TableDestination:=Sheets("Domain_DATA").Range("A3"), tableName:="TCD", DefaultVersion:=xlPivotTableVersion12
et là, je coince, il y a une erreur "Argument ou appel de procedure incorrecte".

J'ai essayé
- avec xlPivotTableVersion10 ou xlPivotTableVersion12
- avec SourceData:=Sheets("QueryTemp").Range("A1:F751"),
avec SourceData:="QueryTemp!R1C1:R751C6"
avec SourceData:=Sheets("QueryTemp").Range("A1:F751").address
avec SourceData:=Sheets("QueryTemp").Range("A1:F751").address(,,xlR1C1)
avec SourceData:=Sheets("QueryTemp").Range("A1:F751").address(,,xlR1C1,true)




Lorsque j'utilise l'enregistreur de Macro Excel, il me donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
        xlsApp.ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "QueryTemp!R1C1:R751C6", Version:=xlPivotTableVersion12). _
        CreatePivotTable TableDestination:="TCD!R1C1", tableName:= _
        "Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion12
Il faut utiliser CREATE ou ADD ??? J'ai fais tous les tests ci-dessus avec les 2 méthodes.

J'ai testé aussi la méthode ".PivotTableWizard" qui rend "la méthode PivotTableWizard de la classe Worksheet a échoué"


Pouvez-vous m'aidez ?
Je coince déjà avec des références absolues, alors je ne vous raconte pas avec des références relatives (ce qu'il faudra que j'arrive à implémenter, mais j'aimerai déjà comprendre ce qui coince dans ces 3 malheureuses lignes de code).

Merci d'avance pour votre aide.