Power Query tri powerquery

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

st007

XLDnaute Barbatruc
Bonjour,
je souhaiterais un "sous tri" puisqu'un tri "classique" me classe 1,10,100 avant 2
en colonne B mes données au format texte
plusieurs catégories suivi d'un "chiffre"
j'ai scindé la colonne, transformé en nombre
mais après ???
au final, je souhaiterais donc les catégories en ordre alphabétique tout en classant par ordre croissant le chiffre
merci d'essayer de me comprendre
 

Pièces jointes

Bonjour,

Exécuté dans Power Query.

VB:
let
    Fonte = Excel.CurrentWorkbook(){[Name="Tabela1"]}[Content],
    #"Dividir Coluna pela Posição" = Table.SplitColumn(Fonte, "Coluna1", Splitter.SplitTextByPositions({0, 4}, false), {"Coluna1.1", "Coluna1.2"}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"Dividir Coluna pela Posição",{{"Coluna1.1", type text}, {"Coluna1.2", Int64.Type}}),
    #"Linhas Classificadas" = Table.Sort(#"Tipo Alterado",{{"Coluna1.1", Order.Ascending}, {"Coluna1.2", Order.Ascending}})
in
    #"Linhas Classificadas"
 

Pièces jointes

Bonjour,

Exécuté dans Power Query.

VB:
let
    Fonte = Excel.CurrentWorkbook(){[Name="Tabela1"]}[Content],
    #"Dividir Coluna pela Posição" = Table.SplitColumn(Fonte, "Coluna1", Splitter.SplitTextByPositions({0, 4}, false), {"Coluna1.1", "Coluna1.2"}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"Dividir Coluna pela Posição",{{"Coluna1.1", type text}, {"Coluna1.2", Int64.Type}}),
    #"Linhas Classificadas" = Table.Sort(#"Tipo Alterado",{{"Coluna1.1", Order.Ascending}, {"Coluna1.2", Order.Ascending}})
in
    #"Linhas Classificadas"
Bonjour,
Je pense qu'en splittant de non chiffre à chiffre, au lieu de considérer systématiquement 4 lettres puis les chiffres, on aurait une solution plus fiable.
Bonne apm
 
re,
merci pour cette solution, en effet, le split sur l'alternance lettre nombre, et re combiner pour terminer
les tri sur les colonnes ne me semblaient pas fonctionel sur mes 12000 lignes. mais .....
bonne journée

VB:
let
    Fonte = Excel.CurrentWorkbook(){[Name="Tabela1"]}[Content],
    #"Dividir Coluna pela Posição" = Table.SplitColumn(Fonte, "Column1", Splitter.SplitTextByPositions({0, 4}, false), {"Coluna1.1", "Coluna1.2"}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"Dividir Coluna pela Posição",{{"Coluna1.1", type text}, {"Coluna1.2", Int64.Type}}),
    #"Linhas Classificadas" = Table.Sort(#"Tipo Alterado",{{"Coluna1.1", Order.Ascending}, {"Coluna1.2", Order.Ascending}}),
    #"Colonnes fusionnées" = Table.CombineColumns(Table.TransformColumnTypes(#"Linhas Classificadas", {{"Coluna1.2", type text}}, "fr-FR"),{"Coluna1.1", "Coluna1.2"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Order")
in
    #"Colonnes fusionnées"
 
Bonjour à tous !

Une proposition ? (en espérant avoir correctement appréhendé le besoin...😉)

PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    Tri = Table.Sort(Source,{{each Text.Select([Colonne1],{"A".."z"}),0},{each Number.From(Text.Select([Colonne1],{"0".."9"})),0}})
in
    Tri
 

Pièces jointes

Bonjour à tous !

Une proposition ? (en espérant avoir correctement appréhendé le besoin...😉)

PowerQuery:
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    Tri = Table.Sort(Source,{{each Text.Select([Colonne1],{"A".."z"}),0},{each Number.From(Text.Select([Colonne1],{"0".."9"})),0}})
in
    Tri
Excellente appréhension, excel 2019 et powerquery
avertissements de probable incompatibilité, mais çà fonctionne parfaitement
 
- 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
7
Affichages
320
  • Question Question
Microsoft 365 Macro VBA - Excel
Réponses
12
Affichages
585
Réponses
7
Affichages
421
Réponses
2
Affichages
725
Retour