Utilisation de l’objet «System.Collections.ArrayList"
Bonjour,
Je viens de découvrir un outil très puissant que pour gérer des listes de chaînes de texte (String) l'objet « System.Collections.ArrayList ». Il possède des méthodes qui permettent de faire des tris en ordre alphabétique ou alphabétique inverse d’une façon simple.
Je l’utilise avec un tableau structuré de 2 colonnes dans la première le NOM dans la seconde le PRÉNOM, pour alimenter un contrôle ListBox mais à l’initialisation de l’UserForm celui-ci n’est pas trier par ordre alphabétique.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Private Sub UserForm_Initialize()
Dim Liste As Object
Dim xItem
Dim rg As Range
'Alimenter la liste
Set Liste = CreateObject("System.Collections.ArrayList")
Set rg = Range("Tableau2")
For Each c In rg
Liste.Add c.Text 'il faut utiliser .Text sinon impossible de trier car on envoie un "range"
Next c
'=== liste des items triés en ordre alphabétique===
Liste.Sort
For Each xItem In Liste
ListBox1.List = rg.Value
Next
End Sub |
Pouvez-vous m’expliquer pourquoi.
Merci d’avance pour votre aide.