1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Function Tri_tb(tb, nb As Integer) 'origine (adaptée) http://silkyroad.developpez.com/vba/tableaux/#LI
'ci-dessus supprimer nb si inutilisé
Dim Valeur As Integer
Dim i As Integer
Dim Cible As Variant
Do
Valeur = 0
For i = UBound(tb, 1) - 1 To 1 Step -1
If Right(tb(i, 1), nb) > Right(tb(i + 1, 1), nb) Then 'nb à remplacer par 5 si inutile
Cible = tb(i, 1) & "|" & tb(i, 2)
tb(i, 1) = tb(i + 1, 1)
tb(i, 2) = tb(i + 1, 2)
tb(i + 1, 1) = Split(Cible, "|")(0)
tb(i + 1, 2) = Split(Cible, "|")(1)
Valeur = 1
End If
Next i
Loop While Valeur = 1
Tri_tb = tb
End Function |
Partager