From here:
Le langage VBA n'a pas de support pour trier les valeurs mémorisées dans un tableau. Une méthode qui peut être utilisée pour trier les tableaux consiste à placer les données dans une feuille de calcul, trier les données dans la feuille de calcul, puis relire les valeurs de la feuille de calcul dans le tableau. L'autre méthode de tri des tableaux consiste à utiliser l'algorithme QSort pour trier le tableau en place. Cette page décrit les deux méthodes, avec des variations sur la méthode QSort.
HTH!
PS:
Le code correspondant à la première méthode est la suivante:
Sub SortViaWorksheet()
Dim Arr(1 To 5) As String ' this is the array to be sorted
Dim WS As Worksheet ' temporary worksheet
Dim R As Range
Dim N As Long
' fill up the array with some
' aribtrary values.
Arr(1) = "aaa"
Arr(2) = "zzz"
Arr(3) = "mmm"
Arr(4) = "ttt"
Arr(5) = "bbb"
Application.ScreenUpdating = False
' create a new sheet
Set WS = ThisWorkbook.Worksheets.Add
' put the array values on the worksheet
Set R = WS.Range("A1").Resize(UBound(Arr) - LBound(Arr) + 1, 1)
R = Application.Transpose(Arr)
' sort the range
R.Sort key1:=R, order1:=xlAscending, MatchCase:=False
' load the worksheet values back into the array
For N = 1 To R.Rows.Count
Arr(N) = R(N, 1)
Next N
' delete the temporary sheet
Application.DisplayAlerts = False
WS.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
' test/debug/confirmation
For N = LBound(Arr) To UBound(Arr)
Debug.Print Arr(N)
Next N
End Sub
Pour le second, il est une routine standard qsort. Vous pouvez le télécharger depuis le site d'origine.