Microsoft 365 ouvrir le chemin d'une power query manuellement

  • Initiateur de la discussion Initiateur de la discussion iliess
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

iliess

XLDnaute Occasionnel
bonjour
voici mon code qui automatise l'ouverture d'une power Query
je souhaite que le chemin se faire d'une manière manuelle.

VB:
Sub Macro2()

    ActiveWorkbook.Queries.Add Name:="JournalReport", Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Source = Excel.Workbook(File.Contents(""C:\Users\ilies\Downloads\JournalAux.xlsx""), null, true)," & Chr(13) & "" & Chr(10) & "    JournalReport_Sheet = Source{[Item=""JournalReport"",Kind=""Sheet""]}[Data]," & Chr(13) & "" & Chr(10) & "    #""Type modifié"" = Table.TransformColumnTypes(JournalReport_Sheet,{{""Column1"", type any}, {""Column2"", type any}, {""Column3"", type text}, {""Column4"", type text}, {""C" & _
        "olumn5"", type text}, {""Column6"", type text}, {""Column7"", type text}, {""Column8"", type text}, {""Column9"", type any}, {""Column10"", type datetime}, {""Column11"", type any}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    #""Type modifié"""
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=JournalReport;Extended Properties=""""" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array("SELECT * FROM [JournalReport]")
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "JournalReport"
        .Refresh BackgroundQuery:=False
    End With
End Sub

Svp comment modifier ce code pour que ce chemin C:\Users\ilies\Downloads\JournalAux.xlsx" ce mettre manuellement c'est a dire obtenir cette fenêtre avant l'exécution du code.
Merci


Capture d’écran 2023-03-04 212034.png
 
Bonjour

La bonne pratique est de créer une requête dans PowerQuery, et non VBA, requête prévue pour se baser sur un paramètre.

Le paramètre peut être passé par une cellule nommée, éventuellement alimentée par VBA, ou être un paramètre POwerQuery modifié par VBA

Utiliser un pseudo dialogue, Application.GetOpenFilename, pour laisser le choix à l'utilisateur et récupérer celui-ci
 
merci Mr Chris pour votre message
J'ai appliqué la deuxième et la troisième consignes de votre message.
et la premiere je ne sais pas comment l'appliquer.

voici le code
VB:
Sub Deternination_Chemin()
Dim Chem As String
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        
            If .Show = True Then
                Chem = .SelectedItems(1)
                Range("A1").Value = Chem
            Else
                
                Exit Sub
            
            End If
    End With
End Sub
 
RE

Pour le solution de la cellule nommée il faut donc nommer A1, Fichier par exemple

Et la requête utilisera
VB:
Excel.Workbook(File.Contents(Excel.CurrentWorkbook(){[Name="Fichier"]}[Content][Column1]{0} ), null, true)

comme source

Il faut en général régler les paramètres de confidentialité de PowerQuery
Fichier, Options et paramètres, Options de requête, partie GLOBAL : Confidentialité, Toujours ignorer les paramètres de niveau de confidentialité
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Power Query Power Query
Réponses
26
Affichages
412
Réponses
2
Affichages
587
  • Question Question
Power Query power query
Réponses
22
Affichages
4 K
Réponses
33
Affichages
4 K
Retour