Macro Tri avec valeurs Texte en dernière position

Bonjour,

Après plusieurs recherches sur divers forums je n'arrive pas à appliquer une macro de tri.

Je cherche à trier par ordre décroissant une colonne contenant des chiffres et du texte, en voulant faire apparaître en dernière position le texte.

Je vous joins mon fichier comprenant les 4 colonnes à trier (une macro par colonne).

Merci d'avance pour votre aide

9macro-tri.xlsm (30.44 Ko)

Salut Coco, Salut le Forum !

C'est du bricolage complet, mais sa fonctionne x)

Sub TriCol()
Dim c As Range, i As Long
Set c = Application.InputBox("Merci de sélectionner l'entête de la colonne à trier", "Select Cells", Type:=8)
c.CurrentRegion.Sort key1:=c, Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
i = FindTxt(c.Row + 1, c.Column)
Rows(i).Insert
c.CurrentRegion.Sort key1:=c, Order1:=xlDescending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Rows(i).Delete
End Sub
Function FindTxt(a, b As Long) As Long
Dim c, p As Range, col As String
col = Split(Columns(b).Address(ColumnAbsolute:=False), ":")(1)
Set p = Range(Cells(a, b), Cells(Range(col & "1048576").End(xlUp).Row, b))
For Each c In p
    If Not IsNumeric(c.Value) Then FindTxt = c.Row: Exit Function
Next c
End Function

Et plutôt que d'avoir une macro par colonne, la macro te demande de sélectionner l'entête de la colonne °^°

Je te laisse tester et revenir vers nous

Super c'est parfait !

Merci beaucoup pour ce bricolage efficace

Rechercher des sujets similaires à "macro tri valeurs texte derniere position"