Tri décroissant d'une listbox [Résolu]

Messages postés
134
Date d'inscription
jeudi 31 juillet 2008
Dernière intervention
15 février 2011
- 31 oct. 2008 à 16:53 - Dernière réponse :
Messages postés
5533
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 2 déc. 2008 à 18:47
Bonjour,

Comment faire que qu'une listbox soit triée de façon décroissante. Par défaut, sorted=true fait un tri croissant.

Merci pour votre aide,
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 31 oct. 2008 à 18:01
3
Merci
Bonjour,


A moins que VB.Net (que je ne connais oas) n'ait prévu un tri décroissant,

Laisse ta propriété Sorted à True puis fais en sorte que "les derniers soient les premiers"

Tu  devrais pouvoir écrire sous vb.net l'équivalent de ceci (écrit en VB6) :

ou = 0
 For i = 1 To List1.ListCount
   toto = List1.List(List1.ListCount - 1)
   List1.AddItem toto, ou
   ou = ou + 1
   List1.RemoveItem List1.ListCount - 1
 Next

Merci jmfmarques 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de jmfmarques
Messages postés
5533
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 1 nov. 2008 à 11:46
0
Merci
Le Pivert
Bonjour


Sur VB.Net  il y a un tri décroissant: Sorted: False


Pour remettre le tri croissant: Me.ListBox1.Sorted =
True
@+


 
Commenter la réponse de cs_Le Pivert
Messages postés
134
Date d'inscription
jeudi 31 juillet 2008
Dernière intervention
15 février 2011
- 3 nov. 2008 à 09:21
0
Merci
La valeur False de Sorted ne fait pas de tri du tout.
Commenter la réponse de dsigmoun
Messages postés
5533
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 3 nov. 2008 à 11:00
0
Merci
Le Pivert
Bonjour
Tu mets la propriété  de ta ListBox à False
Et dans le code d'ouverture:
Private

Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load

Me.ListBox.Sorted =
True
End SubNormalement ta liste est décroissante

 
Commenter la réponse de cs_Le Pivert
Messages postés
134
Date d'inscription
jeudi 31 juillet 2008
Dernière intervention
15 février 2011
- 3 nov. 2008 à 11:38
0
Merci
Ma listbox a bien comme propriété false.

Je mets bien Me.ListBox3.Sorted =
True
,mais le tri est toujours croissant
Commenter la réponse de dsigmoun
Messages postés
5533
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 3 nov. 2008 à 11:44
0
Merci
Le Pivert
Je ne comprends pas
Essaie avec 2 boutons
Btn1: Me.ListBox3.Sorted =
True
Btn2: Me.ListBox3.Sorted =
False
Tu vois ce que cela donne
Commenter la réponse de cs_Le Pivert
Messages postés
134
Date d'inscription
jeudi 31 juillet 2008
Dernière intervention
15 février 2011
- 3 nov. 2008 à 12:16
0
Merci
Lorsque je clique sur le bouton Me.ListBox3.Sorted =
True, la listbox est trié par ordre croissant

Lorsque je clique sur le bouton Me.ListBox3.Sorted =
False, la listbox n'est modifiée sachant que la propriété est à false.

Sachant que ma listbox est une importation des fichiers d'un répertoire, la liste est par défaut croissante même sans la valeur true. J'ai donc utilisé la solution de jmfmarques

 Dim ou As Integer
        ou = 0
        For i = 0 To ListBox3.Items.Count - 1

            ListBox3.Items.Insert(ou, ListBox3.Items(ListBox3.Items.Count - 1))
            ou = ou + 1
            ListBox3.Items.RemoveAt(ListBox3.Items.Count - 1)
        Next
Commenter la réponse de dsigmoun
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 3 nov. 2008 à 12:19
0
Merci
Bonjour,

Je me marre....

Le Pivert : Il ne suffit pas de passer à False la propriété Sorted.
Je sais bien où tu as lu celà, mais tu n'as pas tout lu ...
Elle n'est repassée à False que pour pouvoir y remettre, dans l'ordre inverse, le résultat (gardé en tremplin) du tri croissant ...

dsigmoun :

1) tu trouveras probablement (sur ce site) ce tri qui utilises un tremplin (opération de type "triangulaire")
2) je serais étonné de ce qu'une simple adaptation pour VB.Net de ce que j'ai écrit plus haut en VB6 ne te permette d'éviter ce type de manoeuvre "triangulaire"...
Commenter la réponse de jmfmarques
Messages postés
5533
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 novembre 2018
- 2 déc. 2008 à 18:47
0
Merci
Le Pivert
Bonjour jmfmarques
C'est une coïncidence, j'ai juste besoin de ton code pour ma nouvelle source et je confirme ton avis car à ce moment là je voyez la chose différemment. Je te remercie car cela m'a été bien utile.
Je suis en VB2005
@+ Le Pivert
Commenter la réponse de cs_Le Pivert

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.