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