XL 2016 POWER QUERY créer une colonne avec la valeur d'une cellule

matamata

XLDnaute Nouveau
Bonsoir le forum.
J'ai dans un dossier plusieurs classeurs excel avec des tables au format identiques (sur fond gris dans l'exemple) que je dois fusionner mais avec comme données des types de documents différents.
Pour l'instant je fait des requêtes pour chacun des fichiers en créant une colonne avec la valeur du type de document avant de tout fusionner.

Serait-il possible dans Power Query, de créer cette nouvelle colonne à partir de la valeur de la cellule (D3) afin d'identifier le type de document dans le tableau?
Le but final étant de transformer la requête en fonction afin de passer le dossier en un passe surtout si ajout de nouveaux fichiers/type document?

Ci-joint un classeur décrivant tout ce blabla....
Merci d'avance de votre aide.
 

Pièces jointes

  • Essai.xlsx
    12.1 KB · Affichages: 8

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Si vous ne voulez pas de tableau structuré, utilisez des noms (les mêmes dans chaque fichier)
Par exemple avec vos cellules D3 nommées 'TypeDoc', vous pourriez faire:
let
Source = Folder.Files("X:\Chemin\Vers\Fichiers"),
#"Lignes filtrées" = Table.SelectRows(Source, each ([Name] = "Classeur1.xlsx" or [Name] = "Classeur2.xlsx")),
#"Type doc extrait" = Table.AddColumn(#"Lignes filtrées", "TypeDoc", each Table.FirstValue( Excel.Workbook([Content]){[Name="TypeDoc"]}[Data]))
in
#"Type doc extrait"
Qui créé une colonne avec le contenu de la cellule nommée.
Vous pouvez le faire à ce niveau là ou dans la fonction qui traitera chacun de vos fichiers.
Vous pouvez également nommez vos tableau et les traiter en une seule requête.

Si ni les tableaux structurés et la solution de @chris (que je salue) ni les noms ne vous conviennent, alors donnez plusieurs fichiers exemples, qu'on ne soit pas obligé de reproduire une arborescence sur nos disques.

Cordialement
 

matamata

XLDnaute Nouveau
Bonjour Hasco,

J'ai essayé ta solution mais je bloque pour la suite...encore beaucoup à apprendre sur Power Query.
J'ai uploadé un dossier zippé contenant les deux classeurs. Je saurais modifier les noms et chemins.
Merci pour votre aide--cordialement
 

Pièces jointes

  • Essai.zip
    13.7 KB · Affichages: 5

Hasco

XLDnaute Barbatruc
Repose en paix
bonjour,

@chris, je n'ai pas pu ouvrir ton fichier avec excel 2021.

Voici la Requête "Essai" avec ce que je vous disais plus haut et les requêtes d'aides créées automatiquement par powerquery dans le groupe : Transformer le fichier à partir de Essai

Ces requêtes et paramètre servent à créer plus facilement la fonction pour traiter les fichier les uns après les autres. Si vous avez des modifications à faire sur les étapes de transformation d'un fichier, faites les dans la requête nommée : 'Transformer l'exemple de fichier'.
Pq adaptera la fonction 'Transformer le fichier' à partir des changements que vous aurez opérés dans 'Transformer l'exemple de fichier'


cordialement
 

Pièces jointes

  • matamata.xlsm
    26.2 KB · Affichages: 9

matamata

XLDnaute Nouveau
Bonsoir à tous les deux, Chris, Hasco

Merci pour votre approche différente et qui fait l'affaire dans les deux cas : petite préférence pour Chris où je n'ai pas à modifier le fichier d'origine en nommant une cellule et un plus dans le choix du chemin;)

Je vais devoir reproduire cela sur mes dossiers originaux et vu que je ne comprends pas tout merci de me corriger :

1- Je fait un import à partir du dossier ->''Exemple de fichier'
2- Je crée une requête sur le premier fichier (ABO) et j'effectue les modifications ->'Transformer l'exemple de fichier
3-Je copie la requête et transfo en fonction -> ' fx Transformer le fichier'
4-Je créer la requête finale en appelant la fonction

Tout le reste est créer par Power Query : 'Paramètre1' et dossier

Un grand merci pour votre aide très précieuse.
 

Discussions similaires

Réponses
8
Affichages
358
Réponses
7
Affichages
482
Réponses
14
Affichages
404

Statistiques des forums

Discussions
315 096
Messages
2 116 182
Membres
112 677
dernier inscrit
Justine11