Salut nickam
Je suppose que tes données sont dans un tableau.
Une solution toute simple consiste à données ces données à digérer à une ListBox :
Tu places une ListBox sur ta feuille.
Tu la rends invisible en mode run en mettant sa propriété
Quand tu veux trier tes données, tu les écris dedans :
ListBox.Clear ' vide la liste ListBox.Sorted = False ' fais gagner du temps For r = 1 to NbDeValeurs ListBox.AddItem CStr(Tableau(r)) Next r |
Ensuite, tu ordonnes à la liste de se classer :
ListBox.Sorted = True DoEvents ' lui donne le temps de le faire |
Il n'y a plus qu'à récupérer les données dans le tableau, dans l'ordre du classement :
' Vide le tableau Redim Tableau(ListBox.ListCount - 1) ' -1 car le 1er est l'index 0 For r = 0 to ListBox.ListCount - 1 Tableau (r+1) = ListBox.List(r) Next r |
Vala
Jack
NB : Je ne répondrai pas aux messages privés Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)