Synchroniser 3 combobox

Fermé
trycoon - 8 mars 2014 à 21:03
 foo - 9 mars 2014 à 18:42
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

A voir également:

3 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
9 mars 2014 à 09:47
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+
0
Re,

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,
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
9 mars 2014 à 14:36
Avant de t'envoyer la réponse, j'ai effectué un test avec ton fichier et je n'ai pas constaté le problème d'affichage dans la ComboBox 3.
https://www.cjoint.com/?DCjoJbBn2E5

A+
0
Je te remercie infinimement. Effectivement cela fonctionne très bien. C'est que je me suis emmêler les pinceaux lors du lancement de la macro... :-(

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 ...
0
Re

Voila avec des clients

http://cjoint.com/?3CjsPCZQzD8

A+
Maurice
0
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
-1
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
0