Microsoft 365 Regroupement et synthese d'onglets

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 !

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

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

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

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
 
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
 
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"
 
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
 
- 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
2
Affichages
462
  • Question Question
Autres excel
Réponses
8
Affichages
722
Réponses
6
Affichages
531
Réponses
9
Affichages
584
Retour