Se connecter avec
S'enregistrer | Connectez-vous

[VBA] Modifier source d'un tableau croisé

Dernière réponse : dans Programmation

Bonjour,

J'aimerai modifier la source d'un tableau croisé dynamique en VBA.

J'ai ceci pour créer un TCD :
  1. ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="'[Excel1.xls]Feuil1'!...").CreatePivotTable TableDestination:="'[Excel2.xls]Feuil1'!...", TableName:= "Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10


Mais le probleme est que je ne veux pas le recréer mais juste changer sa source. De plus je ne veux changer qu'une parti de la source, exemple ici la source est Excel1.xls j'aimerai changer en Excel1.xlsx, j'ai plusieurs fichiers à changer comme ceci donc il fau que je garde la parti "Excel1" mais elle peut change selon le fichier.

Une idée?

Merci d'avance.
Lassé par la pub ? Créez un compte

J'ai réussi à modifier la source avec :
  1. Sub ModifLien()
  2.  
  3. ActiveSheet.PivotTables("Tableau croisé dynamique2").ChangePivotCache ActiveWorkbook. _
  4. PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
  5. "C:\[Excel.xlsm]!Base", Version:= _
  6. xlPivotTableVersion12)
  7.  
  8. End Sub


Mais l'autre probleme c'est que je veux créer la macro pour plusieur document, et donc je n'ai pas la mm source cela peut etre c:\Test ou c:\Test1, tout dépend de la localisation de mon fichier où ce trouve le TCD. J'aimerai garder l'emplacement du fichier où il etait normalement car je veux juste changer l'extention du fichier et une variable pour mon fichier Excel qui ne changera que le .xls en .xlsm par exemple.

Est ce possible ??
Lassé par la pub ? Créez un compte
Tom's guide dans le monde