Bonjour.
Je reviens vers vous avec une question concernant le listView sur Excel.
Apparemment, toutes les données dans un listview seraient considérées comme du texte, même les valeurs numériques. Donc cela complique la tache pour faire des tries sur la listView.
Une des solutions que j'ai trouvé, est de rajouter une colonne "width = 0". Dans celle-ci, je convertie chaque chiffre d'un nombre par une lettre avec un "Select Case". Ensuite, je rajoute le code de tri sur la bonne colonne.
Dans l'exemple ci-dessous.
Colonne 1 = texte
Colonne 2 = un nombre
Colonne 3 = Colonne 2 convertie en lettre (Width de la colonne = 0)
Cela fonctionne parfaitement. Seulement, lorsque la listview fait 10 colonnes et que mes colonnes numériques sont par exemple, colonne 2,4,5,8,9 ...... Cela commence à faire un peu beaucoup de colonnes supplémentaires à rajouter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Lacol = ColumnHeader.Index - 1 If Lacol = 2 Then Lacol = 3 end if UserForm6.ListView1.Sorted = False UserForm6.ListView1.SortKey = Lacol If UserForm6.ListView1.SortOrder = lvwAscending Then UserForm6.ListView1.SortOrder = lvwDescending Else UserForm6.ListView1.SortOrder = lvwAscending End If UserForm6.ListView1.Sorted = True
Connaissez-vous une autre solution pour trier le listview ?
Partager