Merci a tous .Mais aucun tri n'est satisfaisant.
Pappip est le plus proche.
Gally :Ce tri est fait pour trier des dossiers d'un cabinet d'avocat
Il comporte des dossiers admettons de 1 a 5000, avec des sous dossiers voir des sous,sous dossiers
ce qui peut faire dossier 1 puis sous dossier A, et sous sous dossier Aa,Ab, etc
jusqu'a 5000 A, 5000 Aa 5000B,5000 Ba ,ect
La solution :
Code : Tout sélectionner
Global Dim tabd.s(10)
tabd.s(1) = "10000A"
tabd.s(2) = "2Aa"
tabd.s(3) = "2"
tabd.s(4) = "3"
tabd.s(5) = "20"
tabd.s(6) = "2A"
tabd.s(7) = "2Ab"
tabd.s(8) = "2C"
tabd.s(9) = "1"
tabd.s(10) = "10000Az"
For z = 1 To 10
Alpha.s = Right(tabd.s(z),Len(tabd.s(z)) - Len(Str(Val(tabd.s(z)))))
tabd.s(z)= RSet(Str(Val(tabd.s(z))),6," ") + Alpha
Next
SortArray(tabd.s(),#PB_Sort_Ascending)
For X = 1 To 10
Debug Trim(tabd.s(X))
Next
End
[code]