faire un tri dans une listbox

Tophe2

XLDnaute Impliqué
bonjour le Forum,

j'ai un userform où se trouve 4 listbox qui font référence à des colonnes de ma feuilles excel la 1er fait le point sur toutes les années présentes en colonne A (exemple plusieurs fois 2008-2009.....) pour ne me sortir qu'une année (qu'une fois 2008,2009....) je souhaiterai pouvoir trier la listbox pour qu'elle m'affiche les années par ordre croissant.

ma listbox se nomme (Me.ListBox1.AddItem)

Merci par avance
Cordialement
Christophe.
 

Dranreb

XLDnaute Barbatruc
Re : faire un tri dans une listbox

Bonjour.
Fabriquez un dictionnaire renvoyé par ma fonction DictionnArbo en lui passant cette colonne en paramètre.
Affectez sa Keys au List de la ListBox. Les items du dictionnaire seront de plus les listes des numéros de lignes portant chacune des années représentée par sa clé.
Vous pouvez d'ailleurs faire pareil pour toutes les ListBox.
Et si au lieu de ListBox c'étaient des ComboBox, vous n'auriez plus rien à faire: j'ai un truc qui s'occupe de tout. Il n'y a qu'à annoncer dans la Userform_Initialize chaque ComboBox avec l'entête de la colonne qui devra lui correspondre, et vous récupérez par une procédure évènement la liste des numéros de lignes relatifs au début de la plage correspondant à tous les choix. Ça apporterait de plus la frappe possible des débuts de critères.
Si, bien que beaucoup moins pratique que les ComboBox quand la colonne est une clé, vous tenez à vos 4 ListBox, mais que les choix devront toujours se faire dans le même ordre, vous pourriez passer les 4 colonnes successivement en paramètre à ma fonction DictionnArbo. Dans ce cas pour chacune des 3 1ères colonnes vous aurez chaque fois un dictionnaire dont la propriété Keys pourra s'affecter au List de la ListBox de la colonne suivante, la 4ième donnant la liste des numéros de lignes où tout est en correspondance aux valeurs sélectionnées dans toutes les ListBox.
Cherchez "ComboBoxLiés": vous tomberez forcément sur une discussion où j'ai joint un classeur muni de tous les modules de service nécessaires.
 
Dernière édition:

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino