Bonjour,
j'essaie de changer le PivotCache d'un TCD avec le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
strSourceData = strPathBDD & "\[" & strBDD & "]" & "concorde_EAA" & "!C1:C20"
strOngletDest = "concorde_EAA_tcd"
strTCD = "concorde_EAA_tcd1"
 
wbBDD.Worksheets(strOngletDest).PivotTables(strTCD).ChangePivotCache _
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    strSourceData _
    , Version:=xlPivotTableVersion14)
 
wbBDD.Worksheets(strOngletDest).PivotTables(strTCD).SaveData = False
Cela fonctionne bien.
Par contre, si je fais une vingtaine de TCD avec la meme methode, cad qu'avant ce code, je mets une vingtaine d'autres TCD qui ne plantent pas,
j'ai un plantage sur la ligne suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
wbBDD.Worksheets(strOngletDest).PivotTables(strTCD).ChangePivotCache _
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    strSourceData _
    , Version:=xlPivotTableVersion14)
Impossible d'ouvrir le fichier source du tableau croisé dynamique C:\divers\nexicube\BNP\TDB2\Données Client\[BDD2.xlsx]concorde_EAA
Ensuite si je vais le fichier où doit etre affiché ce fameux TCD, j'ai aussi le message d'erreur suivant:
Memoire insuffisante pour afficher en entier
Est ce que l'on est limité par un nombre de TCD/memoire par fichier excel ?
Je suis sous excel 2010.

MErci beaucoup pour votre aide,
Eric.