Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Essaie
Sub test1()
Dim C As Range, Tabl As Variant, Temp As String, Tabl1() As String
Dim i As Long, Txt As String, Num As String, X As Long, Ind As Long, Tabl3() As String
For Each C In Range("A1", Cells(Rows.Count, 1).End(xlUp))
Tabl = Split(C.Value, "-")
Ind = -1
For Each Item In Tabl
Txt = ""
Num = ""
For X = 1 To Len(Item)
If Mid(Item, X, 1) >= "9" Then
Txt = Txt & Mid(Item, X, 1)
Else
Num = Num & Mid(Item, X, 1)
End If
Next X
Ind = Ind + 1
ReDim Preserve Tabl1(Ind)
Tabl1(Ind) = Txt & Application.Rept(0, 10 - Len(Num)) & Num & "*" & Item
Next Item
For i = LBound(Tabl1) To UBound(Tabl)
For j = i + 1 To UBound(Tabl1)
If UCase(Tabl1(i)) > UCase(Tabl1(j)) Then
Temp = Tabl1(j)
Tabl1(j) = Tabl1(i)
Tabl1(i) = Temp
End If
Next j
Next i
For i = 0 To UBound(Tabl)
Tabl(i) = Split(Tabl1(i), "*")(1)
Next i
C = Join(Tabl)
Erase Tabl
Erase Tabl1
Next C
End Sub
Daniel