Plusieurs classeurs en 1 seul ?

Bonjour,
Je voudrais savoir s'il existe une fonctionnalité sur Excel 2016, qui permet de rassembler les données de plusieurs classeurs en 1 seul.
Je reçois 50-100 classeurs par semaine. les données de chaque classeurs sont saisies dans un tableau identique. 50 classeurs, 50 tableaux avec la même structure de colonne.
J'aimerai ramener toutes les données de chaque classeur dans une seule feuille d'un nouveau classeur (pas de consolidation) mais une liste comprenant ttes les données.

J'espère avoir été assez clair.

Cordialement

Bonsoir à toutes et tous !

L'outil Power Query (intégré dans Excel depuis 2016) me semble parfaitement adapté à votre besoin.

Bonsoir,

JFL j'avais commencé à répondre en expliquant la démarche en long et en large, mais tu as été trop rapide !

Oui je pense également que Power Query est le plus adapté.

Bonne soirée

Re Bonsoir,

Merci pour votre aide.

Je viens d'activer Power Query, et en regardant d'un oeil peu expert, j'ai compris qu'il fallait mettre mes classeurs dans un seul dossier, afin qu'il puisse les ouvrir ensemble. J'ai réussi a créer un fichier "synthèse", mais il y a des petites imperfections, en-têtes répétés... lignes NUL... mais demain me permettra de trouver les ajustements...

Merci beaucoup :)

Bonjour

éventuellement poste 2 classeurs représentatifs de quelques lignes : on te donnera la marche à suivre pour éviter cela

Bonsoir,

Merci pour votre intérêt.

Je joins 3 fichiers. l'objectif est de rassembler en 1 seul fichier le contenu des 3, avec une seule ligne d'entête, sans ligne vide.

Merci

5essai1.xlsx (8.43 Ko)
5essai2.xlsx (8.74 Ko)
5essai3.xlsx (9.09 Ko)

Bonjour

  • Données, Obtenir des données, A partir d'un fichier, A partir d'un dossier
  • Sélectionner le dossier, et Combiner et transformer
  • Sélectionner Feuil1 et OK
  • Sélectionner la requête Transformer l'exemple de fichier :
    • sélectionner les 3 colonnes de Quantity :
      si le . est un séparateur décimal , remplacer par ,
      si c'est un séparateur de milliers remplacer par rien
    • typer ces colonnes en nombre entier ou décimal selon le cas
    • typer la colonne item en nombre entier
    • typer la colonne Conf. date en date
    • typer les autres colonnes en texte
  • Sélectionner la requête portant le nom du dossier, se placer sur la dernière étape et modifier le typage des données.

Bonjour à toutes et tous,

Juste pour mon entraînement à Power Query.

A tester si j'ai bien compris et si je ne fait pas d'erreur.

Une fois tous les fichiers dans le même dossier sur le bureau, ajouter un fichier "synthèse".

Puis à partir de Power Query dans l'Éditeur avancé copier/coller ce code.

let
    Source = Folder.Files("C:\Users\???\Desktop\Test"),
    #"Fichiers masqués filtrés1" = Table.SelectRows(Source, each [Attributes]?[Hidden]? <> true),
    #"Appeler une fonction personnalisée1" = Table.AddColumn(#"Fichiers masqués filtrés1", "Transformer le fichier à partir de Test", each #"Transformer le fichier à partir de Test"([Content])),
    #"Colonnes renommées1" = Table.RenameColumns(#"Appeler une fonction personnalisée1", {"Name", "Source.Name"}),
    #"Autres colonnes supprimées1" = Table.SelectColumns(#"Colonnes renommées1", {"Source.Name", "Transformer le fichier à partir de Test"}),
    #"Colonne de tables développée1" = Table.ExpandTableColumn(#"Autres colonnes supprimées1", "Transformer le fichier à partir de Test", Table.ColumnNames(#"Transformer le fichier à partir de Test"(#"Exemple de fichier"))),
    #"Type modifié" = Table.TransformColumnTypes(#"Colonne de tables développée1",{{"Source.Name", type text}, {"Purchasing Document", type text}, {"Item", Int64.Type}, {"Conf. date", type date}, {"Order Quantity", type text}, {"Confirmation Number", Int64.Type}, {"Material", type text}, {"Material Designation", type text}, {"Split Qty in Item", type text}, {"Open Qty", type text}}),
    #"Lignes filtrées" = Table.SelectRows(#"Type modifié", each ([Source.Name] <> "Power Query.xlsx")),
    Consolidation = Table.RemoveColumns(#"Lignes filtrées",{"Source.Name"})
in
    Consolidation

Sur cette ligne Source = Folder.Files("C:\Users\???\Desktop\Test"), remplacer les points d'interrogations.

@78chris me corrigera aisément si je me trompe.

Cdlt

En relisant le post de 78chris, je viens de m'apercevoir que j'avais loupé certaines étapes.

Voici le code modifié:

let
    Source = Folder.Files("C:\Users\???\Desktop\Test"),
    #"Fichiers masqués filtrés1" = Table.SelectRows(Source, each [Attributes]?[Hidden]? <> true),
    #"Appeler une fonction personnalisée1" = Table.AddColumn(#"Fichiers masqués filtrés1", "Transformer le fichier à partir de Test", each #"Transformer le fichier à partir de Test"([Content])),
    #"Colonnes renommées1" = Table.RenameColumns(#"Appeler une fonction personnalisée1", {"Name", "Source.Name"}),
    #"Autres colonnes supprimées1" = Table.SelectColumns(#"Colonnes renommées1", {"Source.Name", "Transformer le fichier à partir de Test"}),
    #"Colonne de tables développée1" = Table.ExpandTableColumn(#"Autres colonnes supprimées1", "Transformer le fichier à partir de Test", Table.ColumnNames(#"Transformer le fichier à partir de Test"(#"Exemple de fichier"))),
    #"Lignes filtrées" = Table.SelectRows(#"Colonne de tables développée1", each ([Source.Name] <> "Power Query.xlsx")),
    #"Type modifié" = Table.TransformColumnTypes(#"Lignes filtrées",{{"Conf. date", type date}}),
    #"Valeur remplacée" = Table.ReplaceValue(#"Type modifié",".",",",Replacer.ReplaceText,{"Order Quantity", "Split Qty in Item", "Open Qty"}),
    #"Type modifié1" = Table.TransformColumnTypes(#"Valeur remplacée",{{"Order Quantity", type number}, {"Split Qty in Item", type number}, {"Open Qty", type number}}),
    Consolidation = Table.RemoveColumns(#"Type modifié1",{"Source.Name"})
in
    Consolidation

Cdlt.

Merci pour votre aide, je viens de tester la première solution de 78chris, c'est nickel.

J'essaierai demain ta solution mdo100.

Bravo et encore merci à vous deux

@fred16600,

Du coup si tu as suivi les étapes de @78chris, tu devrais à quelque chose près retomber sur le 2ème code que j'ai fait.

@78chris est un très bon formateur et bravo à toi d'avoir intégré Power Query aussi vite.

Cdlt.

RE

En fait ici une bonne partie du code est totalement automatique

Le plus important est de bien mettre à jour la requête Transformer l'exemple de fichier qui génère en même temps la fonction Transformer le fichier

utilisée par la requête portant par défaut le nom du dossier pour appliquer la même transformation à tous les fichiers du dossiers.

Ce mode de fonctionnement est vraiment génial : on modélise et hop tout suit...

Rechercher des sujets similaires à "classeurs seul"