1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Public Sub TriABulle(tabLong() As Long)
Dim lgFor1 As Long, lgFor2 As Long
Dim lgTmp As Long, lgMin As Long
lgMin = LBound(tabLong)
' Parcourt l'ensemble des éléments du tableau
For lgFor1 = UBound(tabLong) To lgMin Step -1
' Parcourt l'ensemble des éléments non triés du tableau
For lgFor2 = lgMin + 1 To lgFor1
If tabLong(lgFor2 - 1) > tabLong(lgFor2) Then
' Echange de place entre deux éléments
lgTmp = tabLong(lgFor2 - 1)
tabLong(lgFor2 - 1) = tabLong(lgFor2)
tabLong(lgFor2) = lgTmp
End If
Next lgFor2
Next lgFor1
End Sub |