par exemple : trier sur la colonne 2 puis la 1 puis la 3
Code : Tout sélectionner
Dim MonTableau.s(10, 2) ; attention à l'ordre colonne ligne, moi je fais comme ça
Dim tableau_trie.s(10)
; ici je rempli le tableau avec une boucle
MonTableau.s(0, 0) = "bcd"
MonTableau.s(0, 1) = "b"
MonTableau.s(0, 2) = "oups"
MonTableau.s(1, 0) = "bdc"
MonTableau.s(1, 1) = "a"
MonTableau.s(1, 2) = "haha"
MonTableau.s(2, 0) = "bcd"
MonTableau.s(2, 1) = "b"
MonTableau.s(2, 2) = "hoho"
; tous d'abord, on assemble les 3 colonnes de la liste en insérant un caractère de séparation qui n'est pas utilisé dans le texte £ par exemple
; l'ordre d'assemblage dépend de l'ordre de trie souhaité, ici je fais dans l'ordre suivant par exemple : 1,0,2
For n = 0 To 10
tableau_trie(n) = MonTableau(n, 1) + "£" + MonTableau(n, 0) + "£" + MonTableau(n, 2)
Next
; on trie la liste
SortArray(tableau_trie(), 2)
; on recopie les données triées dans MonTableau()
For n = 0 To 10
MonTableau(n, 0) = StringField(tableau_trie(n), 2, "£")
MonTableau(n, 1) = StringField(tableau_trie(n), 1, "£")
MonTableau(n, 2) = StringField(tableau_trie(n), 3, "£")
Debug MonTableau(n, 0) + " " + MonTableau(n, 1) + " " + MonTableau(n, 2)
Next