Bonjour,

Via une macro je souhaite changer en masse une connexion à un cube dans des fichiers Excel contenant des TCD. J'arrive à parcourir mes fichiers, mes onglets, les TCD et à changer la connexion mais je ne trouve pas de solution pour tester si le TCD est connecté à un cube Analysis Services.

Est-ce qu'il existe quelque qui me le permettrait ?

Pour le moment j'utilise le script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
Sub Test()
    Dim rg As String, ws As Worksheet
    Dim tcd As PivotTable
    Dim nom_fichier As String
    Dim user As String
    Dim rep_connexion As String
    Dim nom_connexion As String
    Dim nom_fichier_connexion As String
 
    nom_fichier_connexion = "mon_fichier_de_connexion.odc"
    nom_connexion = "ma_connexion"
    user = VBA.Environ("username")
    rep_connexion = "C:\Users\" + user + "\Documents\Mes sources de données\"
    Range("B3").Select    'on se place sur une cellule aléatoire
    nom_fichier = ActiveWorkbook.Name    ' on récupère le nom du fichier courant
 
    For Each Wkb In Workbooks
        Workbooks(nom_fichier).Connections.AddFromFile _
                rep_connexion + nom_fichier_connexion
        For Each ws In Wkb.Worksheets    'on passe les onglets les un après les autres
            rg = ws.Name    'on récupère le nom de l'onglet
            For Each tcd In Wkb.Worksheets(rg).PivotTables    ' on parcours les TCD de l'onglet
                tcd.ChangeConnection _
                        ActiveWorkbook.Connections(nom_connexion)
            Next tcd
        Next ws
    Next Wkb
End Sub
Merci par avance pour les pistes que vous pourriez me donner !

ps : petit up car j'ai modifié ma macro...