Bonjour,
Est-il possible de récupérer le nom et le chemin d'un fichier source de données d'une requête Query d'un classeur.
Merci beaucoup
Bonjour,
Est-il possible de récupérer le nom et le chemin d'un fichier source de données d'une requête Query d'un classeur.
Merci beaucoup
Bonjour,
Les requêtes sont elles chargées dans des feuilles du classeur ou bien sont-elles en connexion ?
Philippe Tulliez
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer suret si celle-ci est pertinente pensez à voter
Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier
Les données sont chargées dans les feuilles du classeurs
Petit plus, j'ai plusieurs sources de données dans le classeur, il faudrait que je fasse une boucle
Bonjour,
Voici un code VBA qui affiche dans la fenêtre d'exécution le code de toutes les requêtes.
Si l'étape contenant la source commence bien par "Source = ", il suffit d'extraire cette ligne pour connaître la source.
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 t() ' Déclaration des constantes et des variables Const strConnectionPrefix As String = "TEXT;" Dim sht As Worksheet Dim qt As QueryTable Dim pq As WorkbookQuery Dim strFilePath As String Dim strSourceName As String ' Boucle à travers toutes les feuilles de calcul pour trouver les QueryTables For Each sht In ThisWorkbook.Worksheets For Each qt In sht.QueryTables If qt.Connection Like strConnectionPrefix & "*" Then strFilePath = Replace(qt.Connection, strConnectionPrefix, "") Debug.Print "Nom de la requête: " & qt.Name Debug.Print "Chemin du fichier: " & strFilePath End If Next Next ' Boucle à travers toutes les requêtes Power Query For Each pq In ThisWorkbook.Queries strSourceName = pq.Name strFilePath = pq.Formula Debug.Print "Nom de la requête Power Query: " & strSourceName Debug.Print "Formule: " & strFilePath Next pq End Sub
Pour ma part, lorsque je programme une requête, la source se trouve dans le classeur Excel et pas "en dur" dans la ligne de code de l'étape
Philippe Tulliez
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer suret si celle-ci est pertinente pensez à voter
Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier
Bonsoir
J'arrive peut-être un peu tard et je ne comprends certainement pas bien la demande, mais s'il s'agit juste de récupérer une fois la source d'une requête Power Query, il suffit d'aller dans l'éditeur et de regarder la barre de formule après avoir sélectionné la première étape (en général appelée Source).
Mais ce n'est certainement pas cette réponse triviale qui était attendue.
Pierre Dumas
Merci de cliquer surpour chaque message ayant aidé puis sur
pour clore cette discussion.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager