Tri par ordre croissant et non alphabétique

Bonjour,

J'ai eu beau chercher partout, je n'ai pas trouvé alors je vous pose mon problème!

En vba, j'extrait du texte avec mid et find (extraction de tous les caractères avant le premier espace). Les caractères extraits sont à chaque fois des nombres. Puis je veux les trier par ordre croissant, sauf qu'au lieu de me ranger les nombres comme ça : 1,2,3,4... il me les range comme ça : 1,10,11......2,20,21 etc.

Voici mon code :

Sub Macro1()

Dim Lg%

Lg = Sheets("LISTES").Range("P65536").End(xlUp).Row

Application.ScreenUpdating = False

Application.CutCopyMode = False

Sheets("LISTES").Columns("Q:Q").Select

Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

Sheets("LISTES").Range(Cells(4, 17), Cells(Lg, 17)) = "=Mid(RC[-1],1,FIND("" "",RC[-1],1)-1)"

Sheets("LISTES").Range(Cells(4, 16), Cells(Lg, 17)).Sort Key1:=Range("Q4"), Order1:=xlAscending, Key2:=Range("P4") _

, Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:= _

False, Orientation:=xlTopToBottom

Sheets("LISTES").Columns("Q:Q").Delete

End Sub

Merci d'avance,

Matthieu


J'ai trouvé!

En fait c'est juste une option du tri : DataOption:= xlSortTextAsNumbers

Merci quand même si certains se sont penchés sur la question!

J'espère que cela pourra servir aux autres!

Bonne journée,

Matthieu

Rechercher des sujets similaires à "tri ordre croissant alphabetique"