Excel : ne pas afficher les doublons

Résolu
cs_Bruno28 Messages postés 21 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 18 octobre 2005 - 17 oct. 2005 à 15:06
cs_Bruno28 Messages postés 21 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 18 octobre 2005 - 18 oct. 2005 à 10:45
Bonjour à tous.


J'ai créé un formulaire VBA dans Excel. Ce formulaire contient un ComboBox, qui contient les données de la colonne A
Comment ne pas afficher les doublons de cette colonne?

Ci-après, mon code pour remplissage du combobox

Private Sub UserForm_Activate()
Dim i
i = 1
Form1.ComboBox1.Clear
Do Until Sheets("Feuil1").Range("a" & i).FormulaR1C1 = ""
Form1.ComboBox1.AddItem Sheets("Feuil1").Range("a" & i).FormulaR1C1
i = i + 1
Loop
End Sub
Merci

3 réponses

pinje Messages postés 129 Date d'inscription vendredi 25 juillet 2003 Statut Membre Dernière intervention 24 août 2006
17 oct. 2005 à 17:10
tri tes donnees dans la colone A de maniere alaphabetique, puis lorsque
tu les charges dans le combobox, verifie que l'item que tu ajoute est
different du precedent..



si tu peux pas trier colone A, alors charge tout dans un tableau, trie
le de maniere alphabetique, puis verifie que l'item que tu ajoute est
different du precedent..



A +
3
cs_Bruno28 Messages postés 21 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 18 octobre 2005
18 oct. 2005 à 10:41
Merci à toi PINJE


Impécable. Pour info, voici le code:

Private Sub UserForm_Initialize()
Dim V As Variant
Dim Data As Collection
Dim i As Integer

V = Range("a1").CurrentRegion

Set Data = New Collection
For i = 1 To UBound(tablo)
Data.Add CStr(V(i, 1)), CStr(V(i, 1))
Next i

For i = 1 To Data.Count
ListBox1.AddItem Data(i)
Next i

Salut
Bruno
0
cs_Bruno28 Messages postés 21 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 18 octobre 2005
18 oct. 2005 à 10:45
Modification : C'est ce code qu'il faut mettre

Private Sub UserForm_Initialize()
Dim V As Variant
Dim Data As Collection
Dim i As Integer

V = Range("a1").CurrentRegion

Set Data = New Collection
For i = 1 To UBound(V)
Data.Add CStr(V(i, 1)), CStr(V(i, 1))
Next i

For i = 1 To Data.Count
ListBox1.AddItem Data(i)
Next i

J'ai trouvé ce code sur ce site, mais je ne sait plus de qui il est, désolé
Salut
Bruno
0
Rejoignez-nous