• Initiateur de la discussion Initiateur de la discussion Econo
  • 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 !

Econo

XLDnaute Nouveau
Bonjour,
Je suis à la recherche d'un code permettant de concatener diverses données en plusieurs lignes.
Je joins le fichier qui sera plus parlant.
En feuille 1 = la base de données
en feuille 2 = le résultats souhaité*

En vous remerciant de votre aide.
 

Pièces jointes

Bonsoir,
Voici une solution, par Power Query (Complément en natif depuis la version Excel 2016.
Comme tu pourras le voir, je n'ai pas exactement les mêmes résultats que toi, car je tiens compte du code en colonne R (et en ligne 3, tu n'en as mis aucun)
Ta base de données a été transformée en Tableau Structuré (TS), et le résultat est en feuil3.
Pour mettre à jour, dans le ruban "Données", il suffit de cliquer sur "Actualiser"
Afin de configurer (une bonne fois pour toutes) PQ, tu cliques sur "Données/Obtenir des données/Options de requête" et dans l'onglet "Confidentialité", tu valides "Toujours ignorer...." (ceci n'est qu'à faire une fois)
1695834163945.png


Le nombre de lignes ou de colonnes est indifférent, il faut juste que tu respectes le nom des colonnes présent dans ce fichier (colonnes "typ1ge", "No1", "Voie", "Commune", "code", "numéro ","Pot IP")
Tout le reste peut être modifié (nota, tu peux modifier ces colonnes aussi, mais il faudra alors adapter dans le code M (langage de PQ)
Bonne découverte...
Le code :
PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="T_data"]}[Content],
    #"Autres colonnes supprimées" = Table.SelectColumns(Source,{"typ1ge", "No1", "Voie", "Commune", "code", "numéro ","Pot IP"}),
    #"Espaces supprimés" = Table.TransformColumns(Table.TransformColumnTypes(#"Autres colonnes supprimées", {{"No1", type text}}, "fr-FR"),{{"No1", Text.Trim, type text}}),
    #"Valeur remplacée" = Table.ReplaceValue(#"Espaces supprimés","?","",Replacer.ReplaceText,{"No1"}),
    #"Type modifié" = Table.TransformColumnTypes(#"Valeur remplacée",{{"Pot IP", Int64.Type}, {"typ1ge", Int64.Type}, {"numéro ", Int64.Type}, {"No1", Int64.Type}}),
    #"Colonnes fusionnées" = Table.CombineColumns(#"Type modifié",{"Voie", "Commune"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Rues"),
    #"Lignes groupées" = Table.Group(#"Colonnes fusionnées", {"Rues", "code", "typ1ge", "numéro "}, {{"Min", each List.Min([No1]), Int64.Type}, {"Max", each List.Max([No1]), Int64.Type}, {"Nombre", each List.Sum([Pot IP]), Int64.Type}}),
    #"Personnalisée ajoutée" = Table.AddColumn(#"Lignes groupées", "Rue", each if [Min]=null and [Max]=null then [Rues] else if [Min]=[Max] then Text.From([Min]) & ", " & [Rues] else "du " & Text.From([Min]) & " au " & Text.From([Max]) & ", " & [Rues]),
    #"Autres colonnes supprimées1" = Table.SelectColumns(#"Personnalisée ajoutée",{"typ1ge", "Rue", "code", "Nombre", "numéro "})
in
    #"Autres colonnes supprimées1"
Le fichier :
 

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
17
Affichages
940
Réponses
5
Affichages
283
  • Question Question
Réponses
8
Affichages
179
Réponses
6
Affichages
161
Retour