TDC - Connection nouvelle source

Bonjour,

Avant toute chose, essayant de bidouiller du VBA depuis peu, je tiens à vous remercier pour la qualité des cours et du forum.

Mon problème :

Créer une feuille (ex: S47) dans un fichier en copiant une feuille existante (S46) qui contient des TCD qui ont pour source de données un autre fichier excel par exemple : prodfbs46 pour la feuille S46 => Jusque là c'est ok.

Par contre, il faut ensuite que je connecte les TDC de ma nouvelle feuille S47 au nouveau fichier de données prodfbs47 et c'est là que les problèmes commencent.

j'ai enregistré la macro ci-dessous :

Sub Connection_TCD()
'
' Connection_TCD Macro
'

'
    Range("A1").Select
    Workbooks("Indicateurs FB.xlsx").Connections.Add2 "prodfbs474", "", Array( _
        "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;Password="""";User ID=Admin;Data Source=\VIANN" _
        , _
        "ET\PRODUCTIVITE HEBDO\FB\prodfbs47.xls;Mode=Share Deny Write;Extended Properties=""HDR=YES;"";Jet OLEDB:System database="""";Je" _
        , _
        "t OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=34;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Glo" _
        , _
        "bal Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="""";Jet OLEDB:Create System Database=" _
        , _
        "False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=Fal" _
        , _
        "se;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Cach" _
        , "ing=False;Jet OLEDB:Bypass ChoiceField Validation=False"), "prodfbs47$", 3
ActiveSheet.PivotTables("Tableau croisé dynamique1").ChangeConnection _
        ActiveWorkbook.Connections("prodfbs474")
    Range("F1").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique2").ChangePivotCache ( _
        "Tableau croisé dynamique1")
End Sub

Je pensais qu'elle ne fonctionnait pas parce que je l'avais modifié avec des variables mais je me rends compte que lorsque j'essaye de la relancer sans modif, elle plante sur la partie surlignée ... avez vous une idée ???

bonjour

ma méthode :

- dans le fichier avec TCD, on crée une feuille "miroir" du fichier de données

Comme ceci, en A1 tu fais :

taper =

clic dans A1 du fichier de données

tirer cette petite formule de connexion vers la droite et vers le bas

ensuite tu fais le TCD basé sur ce "miroir"

ensuite il est bien plus facile de changer la connexion manuellement chaque jour

Rechercher des sujets similaires à "tdc connection nouvelle source"