Microsoft 365 accès requête via un Bp

jeffe

XLDnaute Impliqué
Bonjour le forum,
je viens de créer une requête sur un fichier .txt, qui fonctionne bien.
ma source de donnée change régulièrement (emplacement et nom) par contre la structure ne change jamais.
je sais changer la source de moi meme, mais je souhaiterais si c'est possible, à l'ouverture de mon fichier comportant la requête, que Excel me demande l'emplacement de la source et actualise le fichier.
Est possible (je viens d'essayer avec enregistreur de macro, sans resultats)
 

jeffe

XLDnaute Impliqué
Bonjour le forum, dysothographie,
je viens de comprendre, désolé.
ci joint fichier txt et la requête.
mon fichier txt aura toujours la même structure, et même extension, mais son nom et son emplacement vont changer régulièrement. en espérant avoir été suffisamment clair.
merci
 

Pièces jointes

  • requete TOTO-Zenon.xlsx
    24.7 KB · Affichages: 3
  • DJF1.txt
    10.5 KB · Affichages: 2

jeffe

XLDnaute Impliqué
Bonjour le forum, j'avance petit à petit, j'arrive à choisir et récupérer le nom de mon fichier à requêter, mais je n'arrive pas à mettre dans ma requête l'emplacement du fichier, une idée?
Merci
 

Pièces jointes

  • requete TOTO-Zenon_v2.xlsm
    41.1 KB · Affichages: 0
  • DJF1.txt
    10.5 KB · Affichages: 1

mromain

XLDnaute Barbatruc
Bonsoir jeffe, dysorthographie, le forum,

Ci-joint une solution possible. J’ai :
  • Rajouté un paramètre Power Query pour gérer l’emplacement du fichier source (PathTxtSourceFile)
  • Renommé ta requête d’extraction en QRY_ExtractTxtSourceFile
  • Retouché l’étape d’ouverture du fichier texte pour prendre en compte le paramètre PathTxtSourceFile
  • Rajouté le code VBA pour rafraîchir les données :
    VB:
    Private Sub Btn_Refresh_Click()
    Dim l_s_pathTxtSourceFile As String
        
        'demander le fichier texte à importer
        With Application.FileDialog(msoFileDialogFilePicker)
            .AllowMultiSelect = False
            .Filters.Clear
            .Filters.Add "Fichier texte", "*.txt"
            .Show
            'si un fichier a bien été sélectionné
            If .SelectedItems.Count > 0 Then
                'récupérer le path
                l_s_pathTxtSourceFile = .SelectedItems(1)
                'mettre à jour e paramètre power query
                ThisWorkbook.Queries("PathTxtSourceFile").Formula = """" & l_s_pathTxtSourceFile & """ meta [IsParameterQuery=true, Type=""Text"", IsParameterQueryRequired=true]"
                'raffraichir la requête
                ThisWorkbook.Queries("QRY_ExtractTxtSourceFile").Refresh
            End If
        End With
    End Sub

A+
 

Pièces jointes

  • Exemple.xlsm
    32.8 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 292
Membres
103 171
dernier inscrit
clemm