Combobox Sans doublon

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 !

sharkantipav

XLDnaute Occasionnel
Bonjour,
J'ai un petit souci a resoudre voici mes deux colonnes
A B
UNIV CY
DBAB IWM
DBAB IWM
DBAB IWM
WOLT IWM
WOLT IWM
WOLT IWM
GSCO IYR
GSCO IYR
GSCO IYR
GSCO IYR
SUSQ IYR
SUSQ IYR

J'ai un userform avec 2 combobox.
Dans le premier combobox jai ecrit un macro qui me list les noms de la Colonne B ss doublon

Private Sub UserForm_Initialize()
Dim r As Range
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
For Each r In Sheets("Ticket").Range("e2:e200")
If (Not IsEmpty(r.Value)) * (Not .exists(r.Value)) Then
Me.Trade.AddItem r.Value
.Add r.Value, Nothing
End If
Next
End With
End Sub

Elle marche et j'obitiens une liste avec CY IWM IYR


Ma question porte sur la 2eme combobox --- Si par exemple je selectionne IWM ds la Combobox1, je souhaiterai voir dans la Combobox2 DBAB WOLT soit la liste ss doublons des valeur de la colonne A sachant que la colonne B est la valeur de la Combobox1
J'espere avoir ete clair
MErci bcp
 
Re : Combobox Sans doublon

Bonsoir.
Vous trouverez de nombreux exemples d'utilisation de ComboBoxCasc et ComboBoxLiés dans les classeurs que je joins dans les discussions auxquelles je répond et aussi en cherchant OutIdx, bien qu'il ne soit plus du tout à jour.
 
Re : Combobox Sans doublon

Bonjour,

Je me permet de poster ce message afin d'avoir votre aide sur ce même sujet.
J'ai consulter votre site Formation Excel VBA JB qui est particulièrement efficace et je vous en remercie !

Je souhaite réaliser une liste dans combobox sans doublons :

Private Sub UserForm_Initialize()
Set f = Sheets("BD")
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

Ce code est particulièrement rapide et efficace ...
Le problème c'est que je souhaite faire une liste sans doublon mais qui s'alimente avec beaucoup de bases de données.
Autrement dit, je souhaite faire une seule et même liste d'une seule colonne mais qui va s'alimenter sur plusieurs colonnes (Toujours sans doublon) :

- Combobox avec 1 colonne
- Avec colonne A de la feuille 1
- + colonne A de la feuille 2
- + colonne A de la feuille 3
- Etc ...

Merci beaucoup de votre aide précieuse !
 
Re : Combobox Sans doublon

bonjour tous 🙂🙂🙂
sur plusieurs feuilles je passe par un array on faire egalement une boucle sur feuilles & mettre des exceptions

Code:
Private Sub UserForm_Initialize()
 Dim temp, m As Object, Ws As Worksheet, i As Long
  Set m = CreateObject("Scripting.Dictionary")
 For Each Ws In Sheets(Array("1", "2", "3"))
 With Ws
 t = .Range("a2:a" & .Cells(Rows.Count, 1).End(3).Row).Value
 For i = 1 To UBound(t)
 m(t(i, 1)) = ""
 Next i
 End With
 Next Ws
 temp = m.keys
 Call tri(temp, LBound(temp), UBound(temp))
 ComboBox1.List = temp
End Sub
Sub tri(a, gauc, droi)
  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
 

Pièces jointes

- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
243
Réponses
7
Affichages
85
Retour