1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Sub TriInsertionStrings(TableauATrier() As Variant, ByVal ColonneTri As Long, _
ByVal lDebutTableau As Long, _
ByVal lFinTableau As Long)
Dim sValeur() As Variant
Dim lCount1 As Long
Dim lCount2 As Long
Dim lCptCol As Long
ReDim sValeur(UBound(TableauATrier, 2))
'Parcours les éléments
For lCount1 = lDebutTableau + 1 To lFinTableau
For lCptCol = 0 To UBound(TableauATrier, 2)
sValeur(lCptCol) = TableauATrier(lCount1, lCptCol)
Next lCptCol
'Trouve la place pour mettre l'élément
For lCount2 = lCount1 - 1 To lDebutTableau Step -1
If TableauATrier(lCount2, ColonneTri) < sValeur(ColonneTri) Then
Exit For
End If
For lCptCol = 0 To UBound(TableauATrier, 2)
TableauATrier(lCount2 + 1, lCptCol) = TableauATrier(lCount2, lCptCol)
Next lCptCol
Next lCount2
' Insert it
For lCptCol = 0 To UBound(TableauATrier, 2)
TableauATrier(lCount2 + 1, lCptCol) = sValeur(lCptCol)
Next lCptCol
Next
End Sub |
Partager