Power Query – Données ne commençant pas à la ligne 1

Accueil – Le CFO masqué Forums Power Query Power Query – Données ne commençant pas à la ligne 1

  • Ce sujet contient 3 réponses, 2 participants et a été mis à jour pour la dernière fois par Lionel, le il y a 3 années et 5 mois.
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Articles
  • #83916
    Lionel
    Participant

    Bonjour au Forum,
    J’espère que vous vous portez bien.

    Voici ma question. Je reçois une dizaine de fichiers qui ont tous la même structure. Dans la pièce jointe, vous verrez :
    1. Une feuille Page1_1 qui ne m’intéresse pas ici
    2. Une feuille Page2_2 qui contient toujours une image et des données dont la ligne de titre est en 8.

    Dans PQ, j’ai déjà fait de la récupération de données venant de plusieurs fichiers venant d’un même répertoire.

    Mais ici, je ne sais pas si c’est possible d’avoir une sorte d’automatisation sur bas d’un folder : 1. parce que j’ai une image (est-ce qu’elle a un impact ?) et 2. mes données commencent toujours à la ligne 8. Comment le faire comprendre à PQ ?

    Si vous avez des pistes, je serais heureux. Merci,

    Attachments:
    You must be logged in to view attached files.
    #83921
    Lionel
    Participant

    Le fichier ici est certainement mieux car il reprend la méthode d’importation d’un folder.

    Je viens de voir Table.Skip qui pourrait être une solution mais je ne sais pas si c’est correct ni comment faire à ce stade.

    Attachments:
    You must be logged in to view attached files.
    #83939
    Stéphane Lorin
    Participant

    Bonjour

    Nous n’avons pas d’exemple de votre fichier source et votre dossier n’existe évidemment pas chez moi. Donc votre fichier n’est pas exploitable en l’état.
    Néanmoins c’est en effet Table.Skip qu’il faut ajouter dans votre fonction suivi d’un Table.PromoteHeaders afin de récupérer les en-têtes. Il y a des boutons dans le menu “Accueil” pour ce faire
    L’image n’a pas d’impact.

    Le plus simple est de créer d’abord une requête sur un fichier exemple, d’intégrer des paramètres dans cette requête, puis de transformer la requête en fonction (avec le clic droit). La requête et la fonction seront “liées” et les modifications de la fonction plus aisées.
    Cordialement
    Stéphane

    #83987
    Lionel
    Participant

    Bon, un éclair ce matin sur la procédure et voilà pour mémoire:

    let MaFonction=(FolderPath,SheetName)=>
    
    let
        Source = Excel.Workbook(File.Contents(FolderPath), null, true),
        Page2_2_Sheet = Source{[Item=SheetName,Kind="Sheet"]}[Data],
        #"Type modifié" = Table.TransformColumnTypes(Page2_2_Sheet,{{"Column1", type any}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}, {"Column6", type text}, {"Column7", type text}, {"Column8", type text}, {"Column9", type text}, {"Column10", type text}, {"Column11", type text}, {"Column12", type text}, {"Column13", type text}, {"Column14", type any}, {"Column15", type any}, {"Column16", type any}, {"Column17", type any}, {"Column18", type any}, {"Column19", type any}, {"Column20", type text}, {"Column21", type text}, {"Column22", type any}, {"Column23", type text}, {"Column24", type text}}),
        #"Premières lignes supprimées" = Table.Skip(#"Type modifié",6),
        #"En-têtes promus" = Table.PromoteHeaders(#"Premières lignes supprimées", [PromoteAllScalars=true])
    in
        #"En-têtes promus"
    
    in MaFonction

    Merci la Grenouille.

4 sujets de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.