Combobox sans doublon

  • Initiateur de la discussion Initiateur de la discussion bibbip35
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bibbip35

XLDnaute Occasionnel
Bonsoir à tous

Je reviens vers vous 1 nouvelle fois, car je rencontre 1 problème sur 3 combobox servant à alimenter un feuille
ou je souhaiterais qu'il n'y a pas de doublon dans liste deroulante

MAlgré mes recherches sur le forum et sur internet , je ne trouve pas de solution
J'ai essaye plusieurs code mais sans succés
😕
Peut etre du au faite que j'utilise la fontion tag avec rowsource?

Pouvez-vous m'aider?

Merci à tous
 
Re : Combobox sans doublon

Bonsoir le fil, bonsoir le forum,

Trouvé ici récemment mais (vraiment désolé pour lui) j'ai oublié son nom...
Sinon j'utilise toujours ce que j'appelle la méthode JB certainement plus rapide si beaucoup de données...
Attention, la propriété RowSource peut parfois posé des problème ! Pour ma part je ne l'utilise jamais...
Le fichier :
 

Pièces jointes

Re : Combobox sans doublon

Bonsoir
Enlève le RowSource du combobox1 dans les propriétés

Ensuite dans ton USF FORM-AJOUTER
Code:
Private Sub UserForm_Initialize()
   Set f = Sheets("Config. ligne")
   Set mondico = CreateObject("Scripting.Dictionary")
   a = f.Range("A7: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

Ainsi de suite pour les autres Combobox
A+
 
Re : Combobox sans doublon

Bonjour à tous

1 grand merci, la solution sans row source fonctionne parfaitement

Par contre, j'ai juste 1 souci, c'est que les valeurs numérique resorte en texte, Il est pas
possible quelle soit convertit directement en nombre
=> Message : le nombre de cette cellule est au format texte....

Merci à tous

Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
102
Réponses
17
Affichages
929
Réponses
2
Affichages
310
Réponses
10
Affichages
365
Retour