Combobox sans doublons

Bonjour à tous,

Je viens vers vous, car je cherche depuis quelques jours à alimenter une combobox sans qu’il y ait de doublons j’ai trouvé ce code suivant sur Internet mais il me pose problème à la base il fonctionne mais il me met d’une part beaucoup de temps à se charger mais d’autre part fonctionne une fois sur 10 pouvez-vous m’aider s’il vous plaît le seul critère qui doit y avoir ce qu’il doit partir de la ligne 2

'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
'Alimente la combobox thème sans doublon$
'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    Dim Cell As Range

'    'Supprime les données existantes dans le ComboBox
    Usffiche_tableau.Cbxtheme.Clear

    'Boucle sur les cellules de la plage pour
    'alimenter le ComboBox
    For Each Cell In Worksheets("BDD_Oeuvres").Range("K2:K10000")
        Usffiche_tableau.Cbxtheme = Cell
        'remplissage sans doublon
        If Usffiche_tableau.Cbxtheme.ListIndex = -1 Then _
            Usffiche_tableau.Cbxtheme.AddItem Cell
    Next Cell

Pouvez-vous m’aider s’il vous plaît

Salut,

Un fichier exemple aurait été le bienvenu.

Voici un code, de Jacques Boisgontier à la base, qui fonctionne bien :

Private Sub UserForm_Initialize()
    Dim temp As New Collection, c As Range, i As Variant

    Range("K2:K" & Range("K" & Rows.Count).End(xlUp).Row).Sort Key1:=[K2]
    On Error Resume Next
    For Each c In Range("K2:K" & Range("K" & Rows.Count).End(xlUp).Row)
        temp.Add Item:=c, Key:=CStr(c)
    Next c
    On Error GoTo 0
    For Each i In temp
        Me.ComboBox1.AddItem i
    Next i

End Sub

La liste est également triée.

14essai-04-12.xlsm (21.72 Ko)
Rechercher des sujets similaires à "combobox doublons"