Exemple de tri dans une listview (lettres,nombres,date)

Soyez le premier à donner votre avis sur cette source.

Vue 13 126 fois - Téléchargée 2 890 fois

Description

Exemple encore pas de moi mais qui est fort pratique.

cette source montre comment classer par ordre croissant et decroissant des variables differentes.

Classement de date, de nombre positifs et negatif ainsi que des lettres

@+

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
38
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
19 juin 2009

merci, bon courage
Messages postés
7
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
28 juin 2009

bonjours
je suis nouveau, et j'ai un des difficulter à comprendre ce code ,si j'ai bien compris vous tranformer les dates et les chiffres en format alphabetique pour les trié(mais comment vous faite pour les séparateur de date "/") et la chose que je n'est pas compris c'est l'utilité de "Tag", j'aimerai bien que quelqu'un m'explique à quoi sa sert.
merci
Messages postés
232
Date d'inscription
mercredi 25 octobre 2000
Statut
Membre
Dernière intervention
5 octobre 2012

Génial + amélioration de Tioneb impec. Merci
Messages postés
193
Date d'inscription
dimanche 16 décembre 2001
Statut
Membre
Dernière intervention
29 juillet 2015

Merci beaucoup pour cette source. Elle fonctionne très bien. Par contre, quand on range dans l'ordre de la colonne 1 par exemple, puis par la colonne 2 puis on reviens à la 1 et bien on se retrouve avec un ordre inversé. Dans Windows, quand on clique pour trier une colonne, par défaut c'est l'ordre alphabétique. Si on passe à une autre colonne, il "oubli" l'ordre demandé pour la première colonne.

Alors pour ceux qui ont compris ce que j'ai écris (je sais que c'est un peu fouillis) et qui veulent que ça se comporte comme windows, faire les modifications suivantes:

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
m_blnDirection(ColumnHeader.Index) = Not m_blnDirection(ColumnHeader.Index)
Select Case ColumnHeader.Index
Case 1
SortListView ListView1, ColumnHeader.Index, ldtString, m_blnDirection(1)
RAZTriage 1 ' <== ajout pour faire comme windows
Case 2
SortListView ListView1, ColumnHeader.Index, ldtNumber, m_blnDirection(2)
RAZTriage 2 ' <== ajout pour faire comme windows
Case 3
SortListView ListView1, ColumnHeader.Index, ldtString, m_blnDirection(3)
RAZTriage 3 ' <== ajout pour faire comme windows
End Select
End Sub

Puis, rajouter cette fonction (dans la form):

Public Function RAZTriage(Sauf As Integer)
Dim i As Integer
For i = 1 To UBound(m_blnDirection())
If i <> Sauf Then
m_blnDirection(i) = False
End If
Next i
End Function

Pour ceux qui ne comprennent pas le fonctionnement de la modif, voici une petite explication. Quand on fait un tri (avec la fonction SortListView), dès qu'elle est terminée, on appelle ma fonction (RAZTriage) en passant comme paramètre le numéro de la colonne qu'on vient juste de traiter. Et la fonction va réinitialiser les variables contenant l'ordre du tri pour chaque colonne (ascendant ou descendant) SAUF celle qu'on vient de trier.
Messages postés
63
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
19 mai 2009

génial
Afficher les 13 commentaires

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.