Trier une listbox en vba excel

Signaler
Messages postés
180
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
22 novembre 2013
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
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

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
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
Messages postés
180
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
22 novembre 2013

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,
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
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