Trie colonne dans ListView
ppil
Messages postés
34
Statut
Membre
-
YAKA -
YAKA -
Bonjour,
J'essaie de trier dans un ordre croissant ou décroissant des nombres se trouvant dans la même colonne et faisant partie d'une Listview. Donc voici le code:
' ------ Tri d'une colonne -------
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
'Sens de trie
If ListView1.SortOrder = lvwAscending Then
ListView1.SortOrder = lvwDescending
Else
ListView1.SortOrder = lvwAscending
End If
'Quel est la colonne à trier
ListView1.SortKey = ColumnHeader.Index - 1
'Trie
ListView1.Sorted = True
End Sub
Ce code marche très bien pour du texte, mais pour des chiffres le résultat n'est pas bon. Voici le résultat obtenu pour mes chiffres:
1107
114
1314
567
64
Alors que le résultat devrait-être:
67
114
567
1107
1314
Comment puis-je faire?
Merci d'avance,
ppil
J'essaie de trier dans un ordre croissant ou décroissant des nombres se trouvant dans la même colonne et faisant partie d'une Listview. Donc voici le code:
' ------ Tri d'une colonne -------
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
'Sens de trie
If ListView1.SortOrder = lvwAscending Then
ListView1.SortOrder = lvwDescending
Else
ListView1.SortOrder = lvwAscending
End If
'Quel est la colonne à trier
ListView1.SortKey = ColumnHeader.Index - 1
'Trie
ListView1.Sorted = True
End Sub
Ce code marche très bien pour du texte, mais pour des chiffres le résultat n'est pas bon. Voici le résultat obtenu pour mes chiffres:
1107
114
1314
567
64
Alors que le résultat devrait-être:
67
114
567
1107
1314
Comment puis-je faire?
Merci d'avance,
ppil
Configuration: Windows Vista Internet Explorer 7.0 Excel 2003
4 réponses
-
Bonjour,
Je sais que ce thème a souvent été abordé, mais en consultant le forum, je n'ai pas trouvé de réponse à mon problème.
Si quelqu'un peut m'aider, je suis preneur.
ppil -
Voici le lien qui pourra résoudre ton problème :
https://silkyroad.developpez.com/VBA/ListView/#LII-F -
j'ai rencontré le meme pb et j'ai trouver une réponse la :
https://www.microsoft.com/en-us/download/details.aspx?id=55984 -
Bonjour, avec un format cela fonctionne mais ce n'est pas très joli car les zéros non significatifs sont alors affichés. Mais cela fonctionne.
ex: .ListItems(j).ListSubItems.Add , , Format(rsT.Fields(63).Value, "000")
La valeur 25 sera affichée comme 025.