Sub Tri(ByRef Liste() As String, bASC As Boolean) Dim i As Long, j As Long Dim Temp As String If bASC Then ' croissant For i = LBound(Liste) To UBound(Liste) - 1 For j = i + 1 To UBound(Liste) If Liste(i) > Liste(j) Then Temp = Liste(j) Liste(j) = Liste(i) Liste(i) = Temp End If Next j Next i Else ' décroissant For i = LBound(Liste) To UBound(Liste) - 1 For j = i + 1 To UBound(Liste) If Liste(i) < Liste(j) Then Temp = Liste(j) Liste(j) = Liste(i) Liste(i) = Temp End If Next j Next i End If End Sub '================================= Sub Exemple_Utilisation() Dim i As Long Dim MyList(1 To 10) As String MyList(1) = "1" MyList(2) = "2" MyList(3) = "4" MyList(4) = "8" MyList(5) = "7" MyList(6) = "3" MyList(7) = "9" MyList(8) = "5" MyList(9) = "0" MyList(10) = "6" Debug.Print "TABLEAU AVANT TRI :" Debug.Print "===================" For i = LBound(MyList) To UBound(MyList) Debug.Print MyList(i) Next i Debug.Print "" Debug.Print "TABLEAU APRèS TRI CROISSANT :" Debug.Print "===================" Call Tri(MyList, True) For i = LBound(MyList) To UBound(MyList) Debug.Print "/" & MyList(i) & "\" Next i Debug.Print "" Debug.Print "TABLEAU APRèS TRI DéCROISSANT :" Debug.Print "===================" Call Tri(MyList, False) For i = LBound(MyList) To UBound(MyList) Debug.Print "/" & MyList(i) & "\" Next i End Sub '=================================
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.