Trier une listbox en vba excel

cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013 - 11 avril 2008 à 13:02
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 11 avril 2008 à 23:04
Bonjour!

tout est dans la question!

j'ai une liste d'article sur une feuille excel, qui est chargée dans une listbox, la liste n'est pas triée (et je ne peux pas la trier sur la feuille...)

j'aurais donc souhaité que la listbox trie la liste par ordre alphabétique lorsqu'elle est chargée.

je sais que sur vb2005 on a la propriété 'sorted', mais je ne la trouve pas sur vba excel... est-il possible de le faire?

merci d'avance!

3 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
11 avril 2008 à 13:28
Salut
POurquoi ne peux tu pas passer par le tri sur la feuille?
Si c'est pour ne pas modifier ta plage de données, Copie la dans un plage "tampon"

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_Fabian123 Messages postés 180 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 22 novembre 2013
11 avril 2008 à 15:03
Salut Julien,

non, tu as raison je ne peux pas modifie la plage de données...

mais je voulais savoir si il etait possible de trier avant de faire un copié/collé sur une autre plage de cellules!

Merci,
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
11 avril 2008 à 23:04
Tu dois utiliser une double-boucle et une variable de transition.
Tu vérifies si l'élément x est > ou < que x + 1
Si >, tu places x+1 dans variable, x dans x+1 et variable dans x

ex (List1 étant le nom de ta listbox):
For i = 0 to List1.Listcount - 1
    For j = i to List1.Listcount - 1
        If list1.List(i) > List1.List(j) then
            Variable = List1.List(i)
            List1.List(i) = List1.List(j)
            List1.List(J) = Variable
        End If
    Next
Next

Pas testé, mais ça devrait fonctionner

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous