Microsoft 365 Regroupement et synthese d'onglets

bandimalou

XLDnaute Occasionnel
Bonjour a tous,

je souhaiterais automatisé un processus dans Excel car j'ai beaucoup de fichier a traiter, j'espère que vous pourrez m'aider.
j'ai différents onglets avec des N° de panier , et j'aimerais pouvoir créer une page "récap" qui reprend l'ensemble des données des onglets.

Merci a tous qui prenez le temps de nous aider
 

Pièces jointes

  • classeur1.xlsx
    18 KB · Affichages: 2

Cousinhub

XLDnaute Barbatruc
Inactif
Re-,
Un premier jet
Tu vas t'apercevoir des erreurs de saisie (dans les noms/prénoms)
Ex : Lignes 7 et 8 (2 espaces entre le nom et le prénom)
2 dernières lignes (Prénom en majuscule)
Pour effectuer la récap, tu mets le chemin du répertoire dans la cellule A2 de l'onglet "Paramètres", puis, ruban "Données", "Actualiser tout"
 

Pièces jointes

  • PQ_Recap_Commandes.xlsx
    27.2 KB · Affichages: 0

bandimalou

XLDnaute Occasionnel
Re,
ha oui je ne connaissais pas Qery et c'as l air vraiment sympa ,
pour en revenir a ton fichier merci beaucoup de te pencher sur mon problème et de prendre du temps,
pour la ligne 1 je pensais plutot avoir 5 colonnes du nom des onglets.
je te mets un fichier en P.J
mais l'idée est la, je vais aller explorer ces chemins.....
Merci encore
 

Pièces jointes

  • Emargement 2022.xlsm
    25.9 KB · Affichages: 2

bandimalou

XLDnaute Occasionnel
franchement BRAVO, c'est exactement ce dont il me fallait,
il me reste juste 2 petites questions si ca te derange pas.
je peux modifier le nom des onglets sans creer d'erreur
sauf le 1er (6EVARADES) il declare une erreur
et j'aimerais rajouter la colonne CNI et Emargement a la fin du tableau.
Merci par avance et encore un grand MERCI
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re-,
Effectivement... (désolé...)
je peux modifier le nom des onglets sans creer d'erreur
sauf le 1er (6EVARADES) il declare une erreur
Dans l'éditeur PQ, remplace la formule :
Actuellement, tu as ceci à la dernière étape "Colonnes renommées" de la requête "Transformer l'exemple...."

1707832267151.png


Tu mets ceci :
1707832479818.png



PowerQuery:
= Table.RenameColumns(#"Lignes filtrées1",{{Table.ColumnNames(#"Lignes filtrées1"){0}, "Onglet"}})

Et pour rajouter tes 2 colonnes, en les incluant dans l'étape "Lignes groupées" de la 2ème requête, c'est faisable, je regarde pour pouvoir les mettre en fin de tableau
 

bandimalou

XLDnaute Occasionnel
voici le code de recap-global:
Code:
  Source = Folder.Files(Excel.CurrentWorkbook(){[Name="CheminDossier"]}[Content]{0}[Column1]),
    FiltrNom = Table.SelectRows(Source, each not Text.Contains([Name], "PQ")),
    FiltrDate = Table.SelectRows(FiltrNom, let latest = List.Max(FiltrNom[Date modified]) in each [Date modified] = latest),
    FiltreHidden = Table.SelectRows(FiltrDate, each [Attributes]?[Hidden]? <> true),
    AppelFn = Table.AddColumn(FiltreHidden, "Transformer le fichier", each #"Transformer le fichier"([Content])),
    #"Autres colonnes supprimées1" = Table.SelectColumns(AppelFn, {"Transformer le fichier"}),
    #"Colonne de tables développée1" = Table.ExpandTableColumn(#"Autres colonnes supprimées1", "Transformer le fichier", Table.ColumnNames(#"Transformer le fichier"(#"Exemple de fichier"))),
    #"Fractionner la colonne par délimiteur" = Table.ExpandListColumn(Table.TransformColumns(#"Colonne de tables développée1", {{"Enfant", Splitter.SplitTextByDelimiter("#(cr)", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Enfant"),
    #"Texte extrait avant le délimiteur" = Table.TransformColumns(#"Fractionner la colonne par délimiteur", {{"N° commande / Qté", each Text.BeforeDelimiter(_, " /"), type text}}),
    #"Diviser la colonne selon les transitions de caractères" = Table.SplitColumn(#"Texte extrait avant le délimiteur", "Enfant", Splitter.SplitTextByCharacterTransition((c) => not List.Contains({"0".."9"}, c), {"0".."9"}), {"Enfant", "Enfant.2"}),
    #"Espaces supprimés" = Table.TransformColumns(#"Diviser la colonne selon les transitions de caractères",{{"Enfant", Text.Trim, type text}}),
    #"Lignes groupées" = Table.Group(#"Espaces supprimés", {"Onglet", "Enfant", "Responsable", "N° commande / Qté"}, {{"Nombre", each Table.RowCount(_), Int64.Type}}),
    #"Colonne dynamique" = Table.Pivot(#"Lignes groupées", List.Distinct(#"Lignes groupées"[#"Onglet"]), "Onglet", "Nombre", List.Sum)
in
    #"Colonne dynamique"
 

bandimalou

XLDnaute Occasionnel
et celui de transformer le fichier

Code:
let
    Source = (Paramètre1 as binary) => let
        Source = Excel.Workbook(Paramètre1, null, true),
        #"Lignes filtrées" = Table.SelectRows(Source, each ([Kind] = "Sheet")),
        #"Autres colonnes supprimées" = Table.SelectColumns(#"Lignes filtrées",{"Item", "Data"}),
        #"Data développé" = Table.ExpandTableColumn(#"Autres colonnes supprimées", "Data", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7"}, {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7"}),
        #"En-têtes promus" = Table.PromoteHeaders(#"Data développé", [PromoteAllScalars=true]),
        #"Lignes filtrées1" = Table.SelectRows(#"En-têtes promus", each ([#"N°"] <> "N°")),
        #"Colonnes renommées" = Table.RenameColumns(#"Lignes filtrées1",{{"579-6EVARADES", "Onglet"}})
    in
        #"Colonnes renommées"
in
    Source
 

Discussions similaires

Statistiques des forums

Discussions
315 167
Messages
2 116 924
Membres
112 915
dernier inscrit
Ludof