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 11 mois.
-
AuteurArticles
-
13 novembre 2020 à 7 h 28 min #83916LionelParticipant
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.13 novembre 2020 à 8 h 08 min #83921LionelParticipantLe 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.13 novembre 2020 à 12 h 20 min #83939Stéphane LorinParticipantBonjour
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éphane16 novembre 2020 à 0 h 17 min #83987LionelParticipantBon, 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.
-
AuteurArticles
- Vous devez être connecté pour répondre à ce sujet.