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
23 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
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
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
23 août 2018
20
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