Option Compare Text
Dim nomtableau, Rng, TblBD(), NbCol
Private Sub UserForm_Initialize()
nomtableau = "tableau1"
Set Rng = Range(nomtableau)
TblBD = Rng.Value
Tri TblBD, LBound(TblBD), UBound(TblBD), 1
NbCol = UBound(TblBD, 2)
EnteteListBox
Me.ListBox1.List = TblBD
End Sub
Sub Tri(a, gauc, droi, colTri) ' Quick sort
colD = LBound(a, 2): colF = UBound(a, 2)
ref = a((gauc + droi) \ 2, colTri)
g = gauc: d = droi
Do
Do While a(g, colTri) < ref: g = g + 1: Loop
Do While ref < a(d, colTri): d = d - 1: Loop
If g <= d Then
For c = colD To colF
temp = a(g, c): a(g, c) = a(d, c): a(d, c) = temp
Next
g = g + 1: d = d - 1
End If
Loop While g <= d
If g < droi Then Call Tri(a, g, droi, colTri)
If gauc < d Then Call Tri(a, gauc, d, colTri)
End Sub