Combobox en cascade

Option Explicit
Private Sub ComboBox1_Change()
Dim France As Variant, Usa As Variant, Maroc As Variant
Me.ComboBox2.Value = ""
France = Array("Paris", "Marseille", "Lyon", "Nice")
Usa = Array("Miami", "Washignton", "Dallas", "New York")
Maroc = Array("")
Me.ComboBox2.List = IIf(Me.ComboBox1.Value = "USA", Usa, France)
End Sub

Private Sub UserForm_Initialize()
Me.ComboBox1.List = Array("France", "USA", "Maroc")
End Sub

Bonjour bonsoir chers tous,

CI dessus voici mon code. Je souhaite faire un userform composé de deux combobox. Dans la premiere combobox se trouve les pays et la seconde les villes. J'aimerais, pour un pays selectionné dans la premiere combobox, les villes correspondantes au pays s'ffichent dans le combobox 2 sachant que le "Maroc selectionné dans la premiere combobox ne nous donne pas la possibilité de choisir une ville referente.

Plus d'explication sur mon fichier

Bonjour

Plus d'explication sur mon fichier

Tu as dû faire une mauvaise manip car je ne vois aucun fichier joint...

Bye !

Option Explicit

Private Sub ComboBox1_Change()

Dim France As Variant, Usa As Variant, Maroc As Variant

Me.ComboBox2.Value = ""

France = Array("Paris", "Marseille", "Lyon", "Nice")

Usa = Array("Miami", "Washignton", "Dallas", "New York")

Maroc = Array("")

Me.ComboBox2.List = IIf(Me.ComboBox1.Value = "USA", Usa, France)

End Sub

Private Sub UserForm_Initialize()

Me.ComboBox1.List = Array("France", "USA", "Maroc")

End Sub

Bonjour bonsoir chers tous,

CI dessus voici mon code. Je souhaite faire un userform composé de deux combobox. Dans la premiere combobox se trouve les pays et la seconde les villes. J'aimerais, pour un pays selectionné dans la premiere combobox, les villes correspondantes au pays s'ffichent dans le combobox 2 sachant que le "Maroc selectionné dans la premiere combobox ne nous donne pas la possibilité de choisir une ville referente.

Plus d'explication sur mon fichier

Bonsoir madmike, gmb , le forum,

Une proposition....

Option Explicit
Private Sub ComboBox1_Change()
 Dim France As Variant, Usa As Variant, Maroc As Variant

If ComboBox1.Value = "" Then Exit Sub
   Me.ComboBox2.Clear

 France = Array("Paris", "Marseille", "Lyon", "Nice")
    Usa = Array("Miami", "Washignton", "Dallas", "New York")
  Maroc = Array("")

Select Case ComboBox1.Value
 Case Is = "France"
  Me.ComboBox2.List = France
 Case Is = "USA"
  Me.ComboBox2.List = Usa
 Case Is = "Maroc"
  Me.ComboBox2.List = Maroc
 End Select
End Sub

Private Sub UserForm_Initialize()
 ComboBox1.Clear
 ComboBox1.List = Array("France", "USA", "Maroc")
 ComboBox2.Clear
End Sub

Cordialement,

Bonsoir @xorsankukai,

C'est exactement ce que je souhaitais avoir comme résultat.

Vous avez lu dans mes pensées

je deviens du coup fan

Merci! Grand merci

Rechercher des sujets similaires à "combobox cascade"