Synchroniser 3 combobox
trycoon
-
foo -
foo -
Bonjour à tous,
Après avoir parcouru avec attention le forum, je me heurte à une difficulté : synchroniser 3 listes déroulantes:
En fonction du pays choisi et en fonction de la région choisie laisser le choix à l'utilisateur de choisir un client.
Le code VBA m'ayant permis de synchroniser la deuxième combobox sur la base du choix d la première combobox :
Private Sub UserForm_Initialize()
Set f = Sheets("feuil1")
Set mondicoA = CreateObject("Scripting.Dictionary")
For Each c In f.Range("A2", f.[A65000].End(xlUp))
If Not mondicoA.Exists(c.Value) Then mondicoA.Add c.Value, c.Value
Next c
'Me.ComboBox1.List = mondico.items
'Me.ComboBox1.ListIndex = 0
Me.ComboBox1.AddItem "*"
For Each i In mondicoA.items
Me.ComboBox1.AddItem i
Next
Me.ComboBox1.ListIndex = 0
End Sub
Private Sub ComboBox1_Change()
ComboBox2.Clear
For n = 2 To Range("B65536").End(xlUp).Row
If Range("B" & n) = ComboBox1 Then
ComboBox2.AddItem Range("E" & n)
End If
Next n
End Sub
Private Sub ComboBox2_Change()
ComboBox3.Clear
For n = 2 To Range("E65536").End(xlUp).Row
If Range("B" & n) = ComboBox1 And Range("E" & n) = ComboxBox2 Then
ComboBox2.AddItem Range("F" & n)
End If
Next n
End Sub
ET c'est au niveau de la combobox3_Change que ça bloque puisque rien ne s'affiche.
Pour mieux illustrer mon problème voici mon fichier : https://mon-partage.fr/f/TDgtUKOM/
Je vous remercie par avance pour votre aide précieuse.
Cordialement
Après avoir parcouru avec attention le forum, je me heurte à une difficulté : synchroniser 3 listes déroulantes:
En fonction du pays choisi et en fonction de la région choisie laisser le choix à l'utilisateur de choisir un client.
Le code VBA m'ayant permis de synchroniser la deuxième combobox sur la base du choix d la première combobox :
Private Sub UserForm_Initialize()
Set f = Sheets("feuil1")
Set mondicoA = CreateObject("Scripting.Dictionary")
For Each c In f.Range("A2", f.[A65000].End(xlUp))
If Not mondicoA.Exists(c.Value) Then mondicoA.Add c.Value, c.Value
Next c
'Me.ComboBox1.List = mondico.items
'Me.ComboBox1.ListIndex = 0
Me.ComboBox1.AddItem "*"
For Each i In mondicoA.items
Me.ComboBox1.AddItem i
Next
Me.ComboBox1.ListIndex = 0
End Sub
Private Sub ComboBox1_Change()
ComboBox2.Clear
For n = 2 To Range("B65536").End(xlUp).Row
If Range("B" & n) = ComboBox1 Then
ComboBox2.AddItem Range("E" & n)
End If
Next n
End Sub
Private Sub ComboBox2_Change()
ComboBox3.Clear
For n = 2 To Range("E65536").End(xlUp).Row
If Range("B" & n) = ComboBox1 And Range("E" & n) = ComboxBox2 Then
ComboBox2.AddItem Range("F" & n)
End If
Next n
End Sub
ET c'est au niveau de la combobox3_Change que ça bloque puisque rien ne s'affiche.
Pour mieux illustrer mon problème voici mon fichier : https://mon-partage.fr/f/TDgtUKOM/
Je vous remercie par avance pour votre aide précieuse.
Cordialement
A voir également:
- Synchroniser 3 combobox
- Ai suite 3 - Télécharger - Optimisation
- Synchroniser agenda google et outlook - Guide
- Picasa 3 - Télécharger - Albums photo
- Synchroniser favoris chrome - Guide
- Photorecit 3 - Télécharger - Visionnage & Diaporama
3 réponses
Bonjour,
Private Sub ComboBox2_Change()
ComboBox3.Clear
For n = 2 To Range("E65536").End(xlUp).Row
If Range("B" & n) = ComboBox1 And Range("E" & n) = ComboBox2 Then
ComboBox3.AddItem Range("F" & n)
End If
Next n
End Sub
A+
Private Sub ComboBox2_Change()
ComboBox3.Clear
For n = 2 To Range("E65536").End(xlUp).Row
If Range("B" & n) = ComboBox1 And Range("E" & n) = ComboBox2 Then
ComboBox3.AddItem Range("F" & n)
End If
Next n
End Sub
A+
Bonjour
je ne voie pas comment tu peux le faire car ton modele est un peux dur a comprndre
Voila un mdele de combobox multi
http://cjoint.com/?3CjkSzFbXVR
A+
Maurice
je ne voie pas comment tu peux le faire car ton modele est un peux dur a comprndre
Voila un mdele de combobox multi
http://cjoint.com/?3CjkSzFbXVR
A+
Maurice
Merci maurice,
Néanmoins cela ne répond pas tout à fait à ce que je souhaite faire.
Ok pour la combobox1 et ok pour la combobox 2
Par contre pour un même pays et une même région , je oeux avoir plusieurs clients.
Ca veut dire que si je selectionne france et que je selectionne paca, je devrais avoir le choix entre plusieurs clients ....
Merci par avance
Néanmoins cela ne répond pas tout à fait à ce que je souhaite faire.
Ok pour la combobox1 et ok pour la combobox 2
Par contre pour un même pays et une même région , je oeux avoir plusieurs clients.
Ca veut dire que si je selectionne france et que je selectionne paca, je devrais avoir le choix entre plusieurs clients ....
Merci par avance
J'avais repéré cette anomalie, néanmoins rien ne s'affiche dans la combobox 3. Je pense que ca vient de
For n = 2 To Range("E65536").End(xlUp).Row ...
Je vais essayer le modèle proposé en dessous.
Merci,
https://www.cjoint.com/?DCjoJbBn2E5
A+
Si je peux abuser : [ annule et remplace j'ai trouvé .... ]
Il fallait changer la source de la combobox 2 en mettant la colonne C et non la colonne E ......
Pour rappel problème : comment faire en sorte de dedoublonner la combobox 2 : exemple si j'ai plusieurs clients dans la même région cela va m'afficher plusieurs fois la même région.
En gros il faudrait qu'on ait le choix de toutes les régions du pays France, et qu'après on selectionne le ou les clients appartenant à cette région.
Thanks you ...