Charger ComboBox Conditionnellement à un autre via RechercheV et sans Doubl

Bonjour à tout le monde

pas fort en VBA comme d'habitude, je cherche toujours de combiner les codes que je trouve sur internet pour arriver à mon objectif

cette fois ci,je cherche de charger un combobox2 conditionnellement au premier, un équivalant de RechercheV mais en VBA code

le premier combobox pour le choix des nationalité ,nommé ComboBoxNationalite se charge à l'ouverture de l'userForm , nommé: FenterePrincipal

Cette liste des nationalités se charge sans doublon (code déja opérationnel, à voir dans le fichier ci-joint)

Ce que je Cherche:

1- Remplir le deuxième combobox, nommé: ComboBoxRegion, conditionnellement au premier, par exemple en choisissant Nationalité : "Française", la liste des régions sera remplit uniquement avec Lyon, Paris et Nice

2- Aussi que cette liste soit sans doublon, exactement comme la première (dans ce cas Région"Nice" ne soit pas répéter 4 Fois)

Quelqu'un peut me donner un coup de main SVP ?

Bonjour,

Désolé mais pour moi il plante dès l'ouverture du userform

Tu devrais pouvoir utiliser le listindex.value de la première combobox pour afficher la region

lors de l'évènement combobox1 change. --->

Combobox2.listIndex.value=combobox1.ListIndex.value

Bonjour,

Désolé mais pour moi il plante dès l'ouverture du userform

Justement , je comprends pas prk ce code ne fonctionne pas:

Private Sub Workbook_Open()

FenterePrincipal.Show

End Sub

Re-Bonjour

Je commence à avancer mais je me bloque toujours au niveau du boucle cumulatif des region selon la nationalité

Private Sub ComboBox1_Change()

Dim D As Worksheet

Set D = Worksheets("Feuil1")

Dim dictionary

Set dictionary = CreateObject("Scripting.Dictionary")

On Error Resume Next

'ComboBox2 = Application.WorksheetFunction.VLookup(ComboBox1.Text, Range("A2:B10000"), 2, faux)

For Each region In Range(D.[B1], [B10000].End(xlUp))

'dictionary.Item(region.Value) = region.Value

'dictionary.Item(region.Value) = Application.WorksheetFunction.VLookup(ComboBox1.Text, Range("A2:B10000"), 2, faux)

dictionary.Item(Application.WorksheetFunction.VLookup(ComboBox1.Text, Range("A2:B10000"), 2, faux)) = Application.WorksheetFunction.VLookup(ComboBox1.Text, Range("A2:B10000"), 2, faux)

Next region

Me.ComboBox2.List = dictionary.items

Ci-joint

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Finalement !!

Voilà la solution , : deuxième combobox dépends du premier:Sans Doublon et Trié en Plus

J'ai essayé de commenté le code au maximum pour que ça soit clair

honnêtement c ps moi que j'ai codé, mais j'ai compris superficiellement le code sauf le fonctionnement du fonction TRIE

Source Réference (et par la même occasion le grand merci) : http://boisgontierjacques.free.fr/pages_site/formulairecascade.htm

Bonne Journée à tous

Rechercher des sujets similaires à "charger combobox conditionnellement via recherchev doubl"