Sub TriAlgo()
Dim TabDataBrut As Variant
Dim TabDataSorted() As String
Dim ValNum As Integer
Dim i As Integer, ii As Integer, x As Integer, j As Integer
Dim Tmp1 As String, Tmp2 As String, Tmp3 As String
Dim C As Byte
With Sheets('Feuil1')
TabDataBrut = Range(.Range('A6'), .Range('B65536').End(xlUp))
For i = 1 To UBound(TabDataBrut)
ValNum = Val(TabDataBrut(i, 1))
ReDim Preserve TabDataSorted(3, x)
TabDataSorted(0, x) = ValNum
TabDataSorted(1, x) = TabDataBrut(i, 1)
TabDataSorted(2, x) = TabDataBrut(i, 2)
x = x + 1
Next
For i = LBound(TabDataSorted, 2) To UBound(TabDataSorted, 2)
For j = LBound(TabDataSorted, 2) + ii To UBound(TabDataSorted, 2)
If CInt(TabDataSorted(0, i)) > CInt(TabDataSorted(0, j)) Then
Tmp1 = TabDataSorted(0, j): Tmp2 = TabDataSorted(1, j): Tmp3 = TabDataSorted(2, j)
TabDataSorted(0, j) = TabDataSorted(0, i): TabDataSorted(1, j) = TabDataSorted(1, i): TabDataSorted(2, j) = TabDataSorted(2, i)
TabDataSorted(0, i) = Tmp1: TabDataSorted(1, i) = Tmp2: TabDataSorted(2, i) = Tmp3
End If
Next j
ii = ii + 1
Next i
For i = LBound(TabDataSorted, 2) To UBound(TabDataSorted, 2)
For C = 1 To 2
.Cells(i + 1 + 5, C) = TabDataSorted(C, i)
Next C
Next i
End With
End Sub