Private Declare Function QueryPerformanceCounter Lib "Kernel32" (X As Currency) As Boolean
Private Declare Function QueryPerformanceFrequency Lib "Kernel32" (X As Currency) As Boolean
Sub Tri() '-- Tri bulles
Dim Tbl, temp, NbCol As Byte, lig As Long, i As Long, j As Long
Dim Debut As Currency, Fin As Currency, Freq As Currency
DataTest
QueryPerformanceCounter Debut
t = Timer()
Tbl = Range("A1:C5000").Value
NbCol = UBound(Tbl, 2)
For lig = 1 To UBound(Tbl)
For i = 1 To NbCol
For j = 1 To NbCol - 1
If Tbl(lig, j + 1) > Tbl(lig, j) Then temp = Tbl(lig, j): Tbl(lig, j) = Tbl(lig, j + 1): Tbl(lig, j + 1) = temp
Next j
Next i
Next lig
[A1].Resize(UBound(Tbl), UBound(Tbl, 2)) = Tbl
QueryPerformanceCounter Fin
QueryPerformanceFrequency Freq
Debug.Print "Timer: " & Format(Timer - t, "0.00000 s")
Debug.Print "QueryPerf:" & Format((Fin - Debut) / Freq, "0.00000 s")
End Sub
Private Sub DataTest()
Cells.Clear
[A1] = 12: [A2] = 15: [B1] = 3: [B2] = 5: [C1] = 8: [C2] = 9
Range("A1:C2").AutoFill Destination:=Range("A1:C5000")
End Sub