Effacer doublon dans ma combobox

Bonjour a tous,

Je créé actuellement un userform sur Vba pour la gestion de mon stock.

Je souhaiterais que dans ma combobox il n'y ait pas de doublons. J'ai essayé un code mais ça ne marche pas.

Quelqu'un pourrait il me dire ou il y'a erreur et le corriger?

Voici le code

 private sub Userform_Initialize
Sheets("Article").select

Dim i as integer

Dim j as integer

Dim pl as range

Set pl = range(range("A6"), Range("A65661").end(xlup))

Me.ComboBox1.list = pl.value

For i= 1 To (ComboBox1.ListCount)

For j=2 To (ComboBox1.ListCount)
    If i<>j then
      If Me.ComboBox1.List(i) = Me.ComboBox1.List(j) then
       Me.ComboBox1.RemoveItem (j)
     End if
  End if
Next
Next

Lorsque je fais l'exécution pas a pas, je remarque que le Me.ComboBox1.list(j) se comporte bizarrement. Ça ne prend pas les valeurs que ça ne prend pas les valeurs que ça devrait prendre.

Merci d'avance

Bonjour,

Un exemple à mettre à ta sauce

73zoleko.xlsm (18.90 Ko)

Merci M12

Ton code marche plustot bien mais tu utilises des fonctions un peu poussées pour moi

J,'aimerais aller dans la même logique que j'ai commencée car je sais qu'il y a un truc qui cloche que je n'arrive pas a identifier

Bien cordialement

Re,

Le soucis vient du fait que tu compare "i" par rapport à "j" qui a une valeur (ligne+1)

mais quand cela arrive à la dernière ligne de "i", 'j" est vide, et ça plante

Je ne vois pas trop ça comme ça

Ce que j'essaie de faire c'est de fixer d'abord i=1. Je compare combobox.list(1) aux autres valeurs: Combobox.list(2), combobox.list(3), combobox.list(4)... Lorsqu'ils sont égaux je supprime. Sinon je passe

Ensuite je fixe i=2. Je compare combobox.list(2) aux autres valeurs: combobox.list(3), combobox.list(4), combobox.list(5)...

J'ai mis une condition de telle manière que si i=j, il n'y a pas de comparaison car sinon ça va me supprimer la valeur et pour rien

Bien cordialement

Rechercher des sujets similaires à "effacer doublon combobox"