Supprimer doublon dans Combobox Sujet

Bonjour à tous,

Je suis relativement novice concernant la programmation en VBA.

J'ai crée un Userform composé d'une liste déroulante (combobox). Or cette liste contient des doublons. Je souhaite que chaque item n'apparaisse qu'une seul fois.

J'ai déjà vu pas mal de code sur internet concernant ce problème, mais impossible de l'appliquer dans mon cas (erreur de prog. surement).

Quelqu'un peut-il m'aider?

Merci d'avance

Fabius62

TRI SANS DOUBLON (fonctionne pas)

 [code]Private Sub UserForm1_Initialize()
 CboType.RowSource = ("code!Date")    'remplit la combo
  CboType.ListIndex = -1    'une ligne vide s'affiche au lancement
  'autorise la sélection multiple
  ListOccasion.MultiSelect = fmMultiSelectExtended
End Sub

Private Sub ComboBox1_Change()

End Sub

Private Sub CommandButton1_Click()

End Sub

Private Sub CommandButton2_Click()
Unload Me
Exit Sub
End Sub

TRI SANS DOUBLON (ne fonctionne pas)

Private Sub UserForm_Initialize()

Set f = Sheets("Date")

Set mondico = CreateObject("Scripting.Dictionary")

a = f.Range("A2:A" & f.[A65000].End(xlUp).Row) ' tableau a(n,1) pour rapidité

For i = LBound(a) To UBound(a)

If a(i, 1) <> "" Then mondico(a(i, 1)) = ""

Next i

'--avec tri

temp = mondico.keys

Call Tri(temp, LBound(temp), UBound(temp))

Me.ComboBox1.List = temp

End Sub

Sub Tri(a, gauc, droi) ' Quick sort

ref = a((gauc + droi) \ 2)

g = gauc: d = droi

Do

Do While a(g) < ref: g = g + 1: Loop

Do While ref < a(d): d = d - 1: Loop

If g <= d Then

temp = a(g): a(g) = a(d): a(d) = temp

g = g + 1: d = d - 1

End If

Loop While g <= d

If g < droi Then Call Tri(a, g, droi)

If gauc < d Then Call Tri(a, gauc, d)

End Sub[/code]

Bonjour,

Teste le code suivant :

Private Sub UserForm_Initialize()
    Dim i As Integer
     'Récupérer les données de la colonne A...
     'colonne surlignée où se trouve les données est à adapter selon le cas
    For i = 1 To Range("A" & Application.Rows.Count).End(xlUp).Row
        ComboBox1 = Range("A" & i)
        'filtrer les doublons
        If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Range("A" & i)
    Next i
End Sub

Bonjour

Quelques explications

Bonjour,

Merci beaucoup pour vos informations et solutions proposés.

Surtout pour les explications...j'ai compris que j'ai fais quelques erreurs dans mon raisonnement.

Bonne après-midi

Fabius62

Rechercher des sujets similaires à "supprimer doublon combobox sujet"