IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Récupérer le nom complet d'un fichier source de données requête Query


Sujet :

Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 056
    Points : 174
    Points
    174
    Par défaut Récupérer le nom complet d'un fichier source de données requête Query
    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

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 910
    Points : 28 889
    Points
    28 889
    Billets dans le blog
    53
    Par défaut
    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 sur et 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

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 056
    Points : 174
    Points
    174
    Par défaut
    Les données sont chargées dans les feuilles du classeurs

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 056
    Points : 174
    Points
    174
    Par défaut
    Petit plus, j'ai plusieurs sources de données dans le classeur, il faudrait que je fasse une boucle

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 910
    Points : 28 889
    Points
    28 889
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Voici un code VBA qui affiche dans la fenêtre d'exécution le code de toutes les requêtes.
    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
    Si l'étape contenant la source commence bien par "Source = ", il suffit d'extraire cette ligne pour connaître la source.
    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 sur et 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

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 056
    Points : 174
    Points
    174
    Par défaut
    J'essaye

  7. #7
    Membre émérite
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 474
    Points : 2 997
    Points
    2 997
    Par défaut
    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 sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 056
    Points : 174
    Points
    174
    Par défaut
    Parfait pour Philippe Tulliez

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2016] Récupérer le nom complet d'un fichier stocké sur serveur
    Par Sites dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 09/07/2020, 16h20
  2. [WD16] Récupérer le nom complet d'un fichier attaché à un email
    Par draco951 dans le forum WinDev
    Réponses: 2
    Dernier message: 07/09/2011, 11h07
  3. Réponses: 2
    Dernier message: 23/04/2008, 11h35
  4. Récupérer le nom du fichier source dans son source
    Par jeromechezgdf dans le forum C#
    Réponses: 2
    Dernier message: 18/07/2007, 16h34
  5. Réponses: 6
    Dernier message: 05/05/2006, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo