Power Query - demande pas à pas
Bonjour à tous,
j'essaie de me lancer dans Power Query et j'aimerai si possible une aide pas à pas sur un cas concret.
Je souhaite récupérer tous les classeurs se trouvant dans un dossier afin de récupérer pour chaque personne une donnée qui se trouve dans un cellule "D11"sur une feuille toujours nommée Total.
- Le dossier se trouve dans un chemin nommé (modifié pour le forum) C:\Users\X\Documents\OneDrive\Delta\Heures Supplémentaires\2026
- Les classeurs sont toujours nommés par le nom d'une personne suivi de .HS.XLSM Ce qui donne par exemple NOM.HS.xlsm
- Dans chaque classeur, se trouve des feuilles nommées dans l'ordre Config, Janvier, février, etc à Décembre puis Total
- Dans la feuille total, en cellule D11 je centralise un nombre total d'heures
j'aimerai donc que Power Query puisse me donner au final une feuille avec une sorte de tableau comportant le nom de chaque personnes et le nombre d'heures faites par elles en face de leur nom
Merci de votre aide
PS : j'avais avec l'aide d'un membre réussi à faire un fichier Power Query pour récupérer des congés de plusieurs personnes, il était composé au final d'une feuille nommée Paramètres où je mettais simplement le chemin vers le dossier, une feuille nommée du nom du dossier où se trouvent les fichiers à traiter et un feuille Final où j'avais les infos demandées mais je n'arrive pas reproduire
Bonjour
Il faut un tableau précisant le chemin complet dans un classeur vierge
- On charge ce tableau dans PQ
- on lui ajoute une colonne pour qu'il affiche le contenu du dossier : = Folder.Files([Chemin])
- on développe la nouvelle colonne en ne cochant que Name et Content
- on filtre la colonne Name pour ne garder que ce qui se termine par "-hs.xlsm"
- on clique sur la double flèche de la colonne Binary : cela ouvre une fenêtre où on sélectionne la feuille Total. PQ va alors créer toute une arborescence
- se placer dans la requête Transformer l'exemple de fichier
- dans l'onglet Accueil, Supprimer des lignes, Supprimer des lignes du haut : sélectionner 7
- Clic droit sur la colonne Column2 : Supprimer les autres colonnes , puis filtrer pour ne garder que <> null puis modifier le titre pour Total
- passer à la requête Dossier (nom du tableau) :
- supprimer la dernière étape (à droite de la fenêtre)
- modifier l'étape Autres colonnes supprimées1 : ajouter au début de l'accolade avant Transformer le fichier : "Name",
- cliquer sur la double flèche de la colonne Transformer le fichier
- renommer les 2 colonnes en Nom et Total
- clic droit sur la colonne Nom , Remplacer les valeurs : -hs.xlsm par rien
- clic droit sur la colonne Total, Modifier le type : Durée
- sortir par Fermer et charger dans, Tableau et choisir l'emplacement
Bonjour 78chris,
merci de ta réponse très détaillée.
Je vais essayer de refaire pas à pas, mais c'est pas gagné que je réussisse en 1 fois
Salut hijack,
Pour éviter de faire perdre du temps à beaucoup de bénévoles,
Il va falloir vitre perdre ce mauvais usage des forums qu'est le CROSS POSTING
Question déjà posée ici https://excel-downloads.com/threads/recuperation-de-plusieurs-donnees-dans-plusieurs-classeurs.20089...
Bonne soirée
Bonsoir JExcel2fr,
effectivement j'ai posté sur deux forums différents pour avoir une chance d'avoir une réponse pour tenter d'avancer d'ici vendredi soir.
Cela permet également d'avoir des méthodes différentes pour tenter de progresser.
Je ne savais pas que cela était interdit
Merci en tout cas de ton aide et de ton accueil.
Bonne soirée
RE
Bonjour 78chris,
merci de ta réponse très détaillée.
Je vais essayer de refaire pas à pas, mais c'est pas gagné que je réussisse en 1 fois
Si ru regardes le fichier que j'ai joint, tu as le détail des étapes dans la barre de formule de l'interface PowerQuery et aussi à droite la liste détaillées des étapes où la plupart ont un petit rouage où on peut cliquer pour plus d'infos sur létape.
Dans mon explication quand je dis
"modifier l'étape Autres colonnes supprimées1 : ajouter au début de l'accolade avant Transformer le fichier : "Name","
c'est dans la barre de formules
Hello,
@hijack, généralement quand on s'inscrit sur un forum on commence par lire le tout premier post qui s'intitule
[A LIRE AVANT DE POSTER] Charte du forum et informations utiles
Un extrait : Ne postez pas la même question sur un autre forum pour éviter de faire perdre bêtement du temps aux membres sur un problème qui peut être déjà résolu sur l'autre forum. L'inverse est également valable, si vous avez déjà posé votre question sur un autre forum, ne créez pas un doublon sur ce forum (à moins d'avoir clôturé le sujet sur l'autre forum).
C'est toujours TRES frustrant de passer (inutilement ?) du temps à répondre alors qu'une autre personne aura répondu sur un autre forum.
N'oubliez jamais que les gens qui vous réponde gracieusement sont des bénévoles et que ces derniers risquent de se lasser de perdre du temps ; mettez vous à leur place pour comprendre.
Quand une question est intéressantes et/ou peut avoir plusieurs réponses, ne vous inquiétez pas, vous aurez certainement plusieurs solutions.
@78chris,
je te remercie de ton aide.
Avec ton pas à pas plus Gemini pour détailler les points, j'ai réussi.
Un grand merci.
PS : Pour les autres, la preuve que ce n'est pas inutile d'aider sur un multi poste, cela aide des gens comme moi.