Blogue TI

  • Comment obtenir les fichiers CSV d’un dossier dynamiquement dans Excel Power Query !

    L’Éditeur de Power Query facilite grandement la création de requêtes. Toutefois, le chemin vers le dossier est malheureusement codé en dur dans la requête, ce qui signifie que si le dossier contenant le classeur Excel est renommé ou déplacé, la requête ne fonctionnera plus.

    J’ai donc développé un bout de code en M (langage de Power Query) que j’utilise systématiquement au début de mes requêtes. Ce code ajoute les quatre premières étapes de la requête, auxquelles d’autres étapes peuvent ensuite être ajoutées à l’aide de l’Éditeur.

    Je commence par créer une table nommée Paramètres avec une colonne nommée Dossier qui contiendra la formule suivante :

    =GAUCHE(CELLULE("filename";[@Dossier]);TROUVE("[";CELLULE("filename";[@Dossier]);1)-1)

    Je crée ensuite une requête vide dans laquelle j’insère le code suivant avec l’Éditeur avancé :

    let
        Source = Folder.Files(Excel.CurrentWorkbook(){[Name="Paramètres"]}[Content]{0}[Dossier] & "Données"),
        #"Ajout personnalisé" = Table.AddColumn(Source, "Custom", each Table.PromoteHeaders(Csv.Document([Content]))),
        #"Colonnes supprimées" = Table.RemoveColumns(#"Ajout personnalisé",{"Content"}),
        #"Tables combinées" = Table.Combine(#"Colonnes supprimées"[Custom])
    in
        #"Tables combinées"

    Après avoir inséré le code, je peux sortir de l’Éditeur avancé et utiliser l’interface utilisateur pour ajouter d’autres étapes sans aucune restriction.

  • Bienvenue !

    Bienvenue sur mon blogue consacré aux technologies de l’information !