Se connecter avec
S'enregistrer | Connectez-vous

[VBA] Probleme modification lien TCD

Dernière réponse : dans Programmation

Bonjour,

J'ai un gros beug sur la modification d'une source d'un TCD voici mon code :
  1. 'MODIFICATION LIEN TCD
  2.  
  3. For Each feuille In ActiveWorkbook.Sheets
  4.  
  5. Sheets(feuille.Name).Activate
  6.  
  7. For Each Pvt In ActiveSheet.PivotTables
  8.  
  9. 'Définit le premier TCD de la feuille active
  10. 'Set Pvt = ActiveSheet.PivotTables(0) 'A REVOIR POUR BOUCLE SUR TOUS LES TCD
  11.  
  12. 'Extrait le nom de la feuille
  13. NomFeuille = Left(Pvt.SourceData, InStr(1, Pvt.SourceData, "!") - 1)
  14.  
  15. 'Pour gérer la version française d'Excel et remplacer le format xlL1C1 en xlR1C1.
  16. Cible = Mid(Pvt.SourceData, Len(NomFeuille) + 2)
  17. source = NomFeuille & "!" & Replace(Application.ConvertFormula( _
  18. Formula:=Cible, fromReferenceStyle:=xlR1C1, toReferenceStyle:=xlA1, toAbsolute:=xlAbsolute), "[" & ThisWorkbook.Name & "]", "")
  19.  
  20. 'compte les caracteres jusqu'au "."
  21. nombre = InStr(source, ".xls")
  22.  
  23. 'lit les caractere jusqu'au nombre trouver juste au dessus
  24. nom = Left(source, nombre)
  25.  
  26. 'inverse les caracteres
  27. nominv = StrReverse(source)
  28.  
  29. 'compte jusqu'au "!"
  30. nombre1 = InStr(nominv, "!")
  31.  
  32. nominv1 = Left(nominv, nombre1)
  33.  
  34. 'réinverse les cactere
  35. nom1 = StrReverse(nominv1)
  36. 'garde le nom du tableau sélectionner auparavant pour changer son lien en-dessous
  37. NomTCD = Pvt.Name
  38.  
  39. ActiveSheet.PivotTables(NomTCD).ChangePivotCache _
  40. ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=nom & "xlsm'" & nom1, Version:=xlPivotTableVersion12)
  41. ActiveWindow.SmallScroll Down:=-21
  42.  
  43. Next Pvt
  44.  
  45. Next feuille


Quand je l'exécute a partir de mon classeur, ca fonctionne parfaitement. Mais quand je l'exécute d'un autre classeur j'ai une erreur au niveau de la modification de la source, l'erreur est " Tableau croisé dynamique impossible à modifier en mode modification des données." Je ne comprend pas du tout ce qu'il ce passe. Je ne vois pas où est l'erreur.

Adez moi svp.
Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte
Tom's guide dans le monde