Modifier la source de TCD

Bonjour

Tout d'abord je vous remercie d'exister, grâce à vous j'ai pu apprendre, comprendre et mettre en place du code VBA... mais là je bloque sur un point qui est incohérent pour moi.

On souhaite dans notre entreprise supprimer les lettre de partage réseau et mettre en place des chemin "UNC" pointant donc sur les fichiers liés.

En gros, et pour faire simple, remplacer "P:\Partages\" par "\\monserveur.local\dfsfr\partages\" dans les formules et les sources de données TCD

On a un nombre incalculable d'Excel avec des liaisons dans les formules, des sources de données TCD, liaison type MSQuery... bref, c'est un chantier assez énorme et bien sur, certain fichiers Excel sont cruciaux.

Grâce à ce forum j'ai pu trouver le code nécessaire pour changer la source des données TCD mais, comme il faut passer par une variable (pour pouvoir changer le lien) le TCD ne retrouve plus ses données.

Code qui fonctionne :

Dim Pvt As PivotTable, NomTCD as String

NomTCD = Pvt.Name

ActiveSheet.PivotTables(NomTCD).ChangePivotCache _

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _

"\\monserveur.local\dfsfr\Services\Info\test chgt serveur\[vente01.xlsx]Feuil1!R1C1:R4C5", Version:=6)

Code qui bloque :

Dim Pvt As PivotTable, newchemin as String, NomTCD as String

NomTCD = Pvt.Name

newchemin ="\\monserveur.local\dfsfr\Services\Info\test chgt serveur\[vente01.xlsx]Feuil1!R1C1:R4C5"

ActiveSheet.PivotTables(NomTCD).ChangePivotCache _

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _

newchemin, Version:=6)

Avec ce message d'erreur

image

Le code complet :

- cherche la lettre du chemin du fichier, la lettre du chemin de la source et remplace selon le cas.

- contient une boucle cherchant les TCD de chaque feuille

- fait également un rechercher / remplacer sur les chemins dans les formules de chaque feuille

Je ne vous le mets pas car le problème vient seulement du passage par une variable pour la sources de données des TCD.

Avant de faire appel à vos lumières, j'ai :

- rajouté d'un cote (') devant le chemin

- testé les différentes de version à la fin du code "ActiveSheet.PivotTables(NomTCD).ChangePivotCache... ,Version:= " en prenant toutes les valeurs proposées par Microsoft

Mais le problème subsiste.

merci en tout cas de toute aide.

Rechercher des sujets similaires à "modifier source tcd"