Bonjour à tous,

Je souhaiterai utiliser une collection pour obtenir une listbox sans doublons à la fin de mon programme. Sauf que je n'y arrive pas. Mon code est le suivant :


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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
 
Public Sub Alim_LB_Rech1_sans_doub()
 
 Dim J As Integer
 
 Dim Unique As New Collection
 
 Dim Valeur As Variant
 
 Dim tampon As Variant
 
 Dim Cle As Integer
 
 
 
 With Initialisation.LB_Rech1
 
   On Error Resume Next
 
 'Je stocke les valeurs de la liste LB_Rech1 dans ma collection 
 
   For J = 0 To .ListCount - 1
 
     Cle = .ListIndex + 1
 
     Unique.Add .List(J), CStr(Cle)
 
   Next J
 
   On Error GoTo 0
 
     'J'efface l'ancien contenu de ma listbox 
     .Clear
 
     ' MsgBox " La dimension de ma collection est " & Unique.Count
 
 
      'Je boucle sur le contenu de ma collection pour alimenter ma listbox
 
      For Each Valeur In Unique
 
 
      .AddItem Valeur
 
 
      Next Valeur
 
 End With
 
End Sub
Après l'exécution de mon code, j'ai le message d'erreur suivant : "Erreur 457, Cette clé est déjà associée à un élément de cette collection".

Je souhaiterai qu'à partir de ma fonction, les doublons existant dans la listbox soient suprimés. Et qu'il n'y reste plus que des valeurs uniques.

J'espère que l'un de vous pourra m'aider à y voir plus clair.
Merci d'avance.