Bonjour, cela fait un moment que je laisse de côté ce problème. Je cherche à remplir une ListBox, j'y parviens sans souci.
Le souci, c'est que je souhaite la remplir sans doublon j'ai donc créé une boucle pour supprimer les doublons. A l’exécution de la procédure, le module se met en erreur et le userform ne s'ouvre pas. Un message indique : "Incompatibilité de type"
Je suis novice et l'erreur est peut être évidente ...
Peut être existe-il un moyen plus simple de remplir une listBox sans doublon... ?
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 Sub remplir ListBox Dim i As Integer, Derlig As Integer ListBox1.Clear x = ActiveSheet.Name With Sheets(x) Derlig = .Cells(65536, 1).End(xlUp).Row For i = 12 To Derlig ListBox1.AddItem .Cells(i, 1).Value Next i End With SupDoubles ListBox1 End sub Private Sub SupDoubles(ListBox1 As ListBox) 'Supprimer les doublons de la list box 1 Dim iPos As Integer iPos = 0 'Si la listbox est vide il quitte la fonction If ListBox1.ListCount < 1 Then Exit Sub Do While iPos < ListBox1.ListCount ListBox1.Text = ListBox1.List(iPos) 'Verifie si le text existe deja If ListBox1.ListIndex <> iPos Then 'Si c'est le cas il supprime et garde la position iPos... ListBox1.RemoveItem iPos Else 'Si ce n'est pas le cas il change la position iPos... iPos = iPos + 1 End If Loop 'Utiliser pour désélectionner la dernière ligne ListBox1.Text = "-" End Sub
Partager