Bonjour Salim, le Forum
Je comprends bien ta démarche et ta soif de connaissance, mais là franchement ça déborde largement de l'objectif et du cadre de ce Forum. Je suis le premier à être large en explication quand on me les demande, mais là on dirait presque que je suis prof d'informatique avec des corrigés à rendre !! lol
Non Salim tu es un chic contributeur, et je t'apprécie, mais là il ne faut pas s'égarer de la sorte !!!
Pour ta question en rouge concernant le Tab1 :
Dim ValMin As Integer, ValSup As Integer
Dim i As Integer, j As Integer, ii As Integer
Dim t1 As String
ValMin = LBound(Tab1)
ValSup = UBound(Tab1)
For i = ValMin To ValSup
For j = ValMin + ii To ValSup
If Tab1(i) > Tab1(j) Then
t1 = Tab1(j)
Tab1(j) = Tab1(i)
Tab1(i) = t1
End If
Next j
ii = ii + 1
Next i
ListBox1.List = Tab1
End Sub
Et bien avec cette boucle je fais un décalage volontaire sur ce Tab1, avec deux index le "i" et le "j", le "j" étant "sur-incrémenté avec "ii"... Donc en fait çà me permet de comparer si Tab1(i) > Tab1(j) et dans ce cas c'est Tab1(j) qui prend la place de Tab(i) en passant par la variable temporaire t1... Et ceci permet de classer les Item de ce Tab1 dans l'ordre.
PS : Dans la démo que tu as remontée, en fait il y a un résidu d'un tableau en 2 colonnes, c'est pour ceci qu'il y a un t2, qui s'avère inutile)
Voilà j'espère que celà te permettra de comprendre
Bonne Fin de Journée
@+Thierry