Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Trier une ListBox

3 réponses
Avatar
Laurent
Salut =E0 tous

J'ai une ListBox et un CommandButton =E0 c=F4t=E9.
Quand je clic sur le bouton, je veux trier les valeurs=20
contenues dans la listbox. Mais je n'ai pas trouv=E9 de=20
m=E9thode "Sort" pour la listbox !

Quand je clic la premi=E8re fois, je veux un tri croissant,=20
et un tri croissant au second clic.

Quelqu'un peut il m'aider ?

Merci

Laurent

3 réponses

Avatar
Raymond [mvp]
Bonjour.

le plus simple est de changer le contenu du rowsource de ta liste avec un
bouton bascule et non un bouton de commande. Le bouton bascule ne pouvant
avoir que 2 valeurs True/false il est très facile de tester:
Private Sub Bascule1_AfterUpdate()
If Bascule1 Then
Me.Liste1.RowSource = "SELECT table1.Numéro, table1.Pays,
table1.Région FROM table1 ORDER BY [Pays];"
Else
Me.Liste1.RowSource = "SELECT table1.Numéro, table1.Pays,
table1.Région FROM table1 ORDER BY [Pays] DESC ;"
End If
End Sub

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Laurent" a écrit dans le message de
news:2b1af01c468b7$14ed33d0$
Salut à tous

J'ai une ListBox et un CommandButton à côté.
Quand je clic sur le bouton, je veux trier les valeurs
contenues dans la listbox. Mais je n'ai pas trouvé de
méthode "Sort" pour la listbox !

Quand je clic la première fois, je veux un tri croissant,
et un tri croissant au second clic.

Quelqu'un peut il m'aider ?

Merci

Laurent
Avatar
Laurent
Merci de ta réponse Raymond.
J'avais envisagé une telle solution. Mais le problème,
c'est que cela m'oblige à recharger la ListBox en
refaisant un select et un order by à chaque fois que je
veux trier.

N'y a t il pas simplement la possibilité de trier une
liste de valeurs contenues dans un listBox ?
Si je ne peux pas faire autrement, je prendrais ta
solution. Mais elle ne me satisfait pas réellement.

Laurent



-----Message d'origine-----
Bonjour.

le plus simple est de changer le contenu du rowsource de
ta liste avec un

bouton bascule et non un bouton de commande. Le bouton
bascule ne pouvant

avoir que 2 valeurs True/false il est très facile de
tester:

Private Sub Bascule1_AfterUpdate()
If Bascule1 Then
Me.Liste1.RowSource = "SELECT table1.Numéro,
table1.Pays,

table1.Région FROM table1 ORDER BY [Pays];"
Else
Me.Liste1.RowSource = "SELECT table1.Numéro,
table1.Pays,

table1.Région FROM table1 ORDER BY [Pays] DESC ;"
End If
End Sub

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Laurent" a écrit
dans le message de

news:2b1af01c468b7$14ed33d0$
Salut à tous

J'ai une ListBox et un CommandButton à côté.
Quand je clic sur le bouton, je veux trier les valeurs
contenues dans la listbox. Mais je n'ai pas trouvé de
méthode "Sort" pour la listbox !

Quand je clic la première fois, je veux un tri croissant,
et un tri croissant au second clic.

Quelqu'un peut il m'aider ?

Merci

Laurent


.



Avatar
Raymond [mvp]
le problème c'est qu'il n'existe aucune propriété pour ça.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Laurent" a écrit dans le message de
news:2c56701c468bd$b77348f0$
Merci de ta réponse Raymond.
J'avais envisagé une telle solution. Mais le problème,
c'est que cela m'oblige à recharger la ListBox en
refaisant un select et un order by à chaque fois que je
veux trier.

N'y a t il pas simplement la possibilité de trier une
liste de valeurs contenues dans un listBox ?
Si je ne peux pas faire autrement, je prendrais ta
solution. Mais elle ne me satisfait pas réellement.

Laurent