Power Query Remplir une colonne avec le nom des tables

  • Initiateur de la discussion Initiateur de la discussion MR.O
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MR.O

XLDnaute Junior
Bonjour,

Je souhaiterais savoir comment récupérer le nom d'une table pour remplir une colonne de ma requête.

Merci d'avance,

Cordialement,

Capture d’écran 2023-02-08 115141.png
 
Bonjour,
Je ne comprends pas trop ce que tu veux...
Une fusion ne suffirait pas?
Un fichier exemple, avec 2 ou 3 tables, et ce que tu désires pourrait nous aider à t'aider... 😉
Bonjour @bhbh,

Je vous joint un exemple pour complété mon explication j'ai mis en colonne G en jaune ce que je voudrais récupérer comme information.

Merci d'avance,

Cordialement,
 

Pièces jointes

Bonjour,

Dans l'onget Accueil dans le groupe 'Combiner' vous avez un bouton Ajouter des requetes, cliquez sur ce bouton et laissez vous guider.
Sinon dans votre Etape, si vos tables ont toutes les mêmes noms de colonne, choisissez en une :
Table.Combine({BAT_011, BAT_023},Table.ColumnNames({BAT_011}))

Ou pour avoir une sélection plus restreinte l'étape ci-dessous et pour exemple ne prendra que les colonnes "BAT" et celles dont le nom commence par "T" :
= Table.Combine({BAT_023, BAT_011},{"BAT"} & List.Select(Table.ColumnNames(BAT_011),each Text.Start(_,1)="T"))
Toutes les fonction M de filtrage de liste sont possibles voir la doc sur les fonctions de List

Vous auriez pu nous faire un exemple correct et non pas avec des sources absentes de notre disque dur, nous obligeant ainsi à reconstruire vos requêtes, c'est pas cool.


Hello @bhbh 🙂
 

Pièces jointes

  • 1675868031587.png
    1675868031587.png
    6.5 KB · Affichages: 32
  • exemple.xlsx
    exemple.xlsx
    24.8 KB · Affichages: 9
Dernière édition:
Bonjour,

Dans l'onget Accueil dans le groupe 'Combiner' vous avez un bouton Ajouter des requetes, cliquez sur ce bouton et laissez vous guider.
Sinon dans votre Etape, si vos tables ont toutes les mêmes noms de colonne, choisissez en une :


Ou pour avoir une sélection plus restreinte l'étape ci-dessous et pour exemple ne prendra que les colonnes "BAT" et celles dont le nom commence par "T" :

Toutes les fonction M de filtrage de liste sont possibles voir la doc sur les fonctions de List

Vous auriez pu nous faire un exemple correct et non pas avec des sources absentes de notre disque dur, nous obligeant ainsi à reconstruire vos requêtes, c'est pas cool.


Hello @bhbh 🙂
Bonjour @Hasco,

Désolé pour les sources, je ne sais pas comment les enregistrer dans le fichier.
je crois que l'on c'est mal compris, ce que je souhaiterais c'est récupérer le titre de la requête ou table et le mettre dans une colonne personnalisée, je vous joint une copie d'écran avec le visuel.

Merci d'avance,
 

Pièces jointes

  • Capture d’écran 2023-02-08 115141.png
    Capture d’écran 2023-02-08 115141.png
    111.7 KB · Affichages: 94
Bonjour à tous,

Une piste avec le code ci-dessous à mettre dans une nouvelle requête :
VB:
= Record.ToTable(#sections[Section1])

Vous pouvez ensuite filtrer la colonne Name et développer la colonne "Value".

Vous pouvez vous passer alors d'un Table.Combine

Cordialement
 
Dernière édition:
Re,

Ouvrez le zip ME Exemple.zip ci-joint il contient des fichiers source et un fichier (Mr exemple.xlsx) muni d'une requête faite à partir de l'onglet de ruban "Données/à partir d'un fichier/ à partir d'un dossier
Cela vous délivrera d'avoir à faire une requête pour chaque fichier
Lorsque vous arrivez dans l'affichage des fichiers du dossier faites une sélection des lignes comme ci-dessous

1675880554778.png
,


1675881171554.png

Ensuite ne conservez que les colonnes qui nous serviront

Et cliquez sur les deux flèches basses à droite du titre de la colonne Content
Power query lancera l'assistant et créera différentes requêtes :
1675883162561.png

La requête MR Exemple est la requête que j'ai crée.
Les autres dans le dossier Requêtes d'assistance sont celles crées par Power Query.
prmFichier (binaire) est le paramètre créé par PQ pour passer le contenu de la colonne [Content] de la requête MR Exemple à la fonction Transformer le fichier.

Le deuxième paramètre, prmFeuille (text) est le nom de la feuille à trouver dans le fichier transmis par le paramètre prmFichier et qui est le contenu de la colonne [Name] de la requête "Mr Exemple" (après transformation pour ne conserver que les caractères avant le point : BAT_011.xlsm ->BAT_011 )

La requête Transformer l'exemple de fichier est la seule requête que vous pouvez modifier.
A chaque fois que vous la modifiez PQ mettra à jour la fonction Transformer le fichier) du même nom.
cette dernière est appelée à l'étape Appeler une fonction personnalisée1 de la requête MR Exemple

Dans le fichier joint, vous verrez en A1 (nommé "Dossier") dont se sert la requête MR Exemple pour aller chercher les fichiers. Vérifiez qu'elle contient le bon nom de dossier sinon, faites la recalculer en la revalidant ou mettez en dur votre chemin vers le dossier à traité ou en dur dans l'étape source de la requête.

Cordialement
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
163
Retour