Private Sub UserForm_Initialize()
'je l'ai utilisé dans userform
Quick TbStc(), LBound(TbStc), UBound(TbStc), 5, True 'on trie TbStc par rapport à la colonne 5
End Sub
Sub Quick(A(), gauc, droi, col, ordre) ' Quick sort
Dim ref, g, d, i As Long, temp
ref = A((gauc + droi) \ 2, col)
g = gauc: d = droi
Do
If ordre Then
Do While A(g, col) < ref: g = g + 1: Loop
Do While ref < A(d, col): d = d - 1: Loop
Else
Do While A(g, col) > ref: g = g + 1: Loop
Do While ref > A(d, col): d = d - 1: Loop
End If
If g <= d Then
For i = LBound(A, 2) To UBound(A, 2)
temp = A(g, i): A(g, i) = A(d, i): A(d, i) = temp
Next i
g = g + 1: d = d - 1
End If
Loop While g <= d
If g < droi Then Call Quick(A, g, droi, col, ordre)
If gauc < d Then Call Quick(A, gauc, d, col, ordre)
End Sub