Récuperer un nom de dossier pour une fonction

Salut le Forum, j'aurai besoin d'aide pour un code car j'ai un problème que je n'arrive pas a résoudre.

Tout d'abord le code ci-dessous me permet de récup le chemin d'un dossier ( Exemple : C/Users/Hermann973/downloads/Devoirs ) afin de mettre les documents qu'il contient dans un tableau.

Or sur la ligne suivante :

.CommandText = Array("Select * FROM [ - - - ]")

j'ignore ce que je dois mettre entre les crochets (je sais que je dois mettre "Devoirs" mais j'aimerais que cette valeur soit variable). Donc voila si quelqu'un à du temps libre pour m'aider ce serait gentil.

Voila le code entier :

Sub Macro_Arbo()
Dim x As Long

    Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Tableau"
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Show
        If .SelectedItems.Count > 0 Then
            Dossier = .SelectedItems(1)
        End If
    End With
    ActiveWorkbook.Queries.Add Name:="Dossier", Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Source = Folder.Files("" & Dossier &"")" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    Source"
    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
        "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=Devis;Extended Properties=""""" _
        , Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdSql
        '
        '
        .CommandText = Array("SELECT * FROM [ - - - ]")
        '
        '
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .ListObject.DisplayName = "Devis"
        .Refresh BackgroundQuery:=False
    End With
End Sub

(Désolé pour le titre simplifié)

Merci d'avance

Hello,

Comme ceci :

var = "Devoirs"
.CommandText = Array("Select * FROM " & var  & ")"

Bonjour Hermann973

Je commence en powerquery et je trouve l'exercice d'automatiser via un script VBA intéressant mais je ne suis pas sur que ce soit la clé de l'exercice, tout peut être fait en PowerQuery.

Je pense que nous aurons besoin d'un expert qui passe par là, d'où le fait que je relance le sujet car j'ai hate de le voir avancer.

J'ai vu sur youtube que pour entrer le nom d'un dossier où se trouve les fichiers à lister, il faut faire un fichier excel avec script Power Query et commencer à utiliser la formule =GAUCHE(CELLULE("Filename");CHERCHE("\[";CELLULE("Filename"))) qui sera récupérer par un subterfuge "Drill down" ou "Drop down".

Il faut alors aller dans Gérer les paramètres/ créer un nouveau paramètre pour utiliser ce paramètre en provenance d'une formule d'Excel dans PowerQuery : pour aller plus loin https://daxone.fr/les-parametres-dans-power-query-et-dans-les-rapports-1/.

Mais après je n'ai trouvé que l'import d'un fichier CSV se trouvant dans le même répertoire mais pas de faire la liste des fichiers présent dans le répertoire

Peut-être qu'en suivant ce tuto en anglais ce serait mieux https://trumpexcel.com/list-file-names-power-query/ ou https://exceloffthegrid.com/power-query-file-attributes/ et en français https://www.excelformation.fr/liste-fichier-de-dossier-power-query-excel.html

Rechercher des sujets similaires à "recuperer nom dossier fonction"