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
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.