Liste déroulante VBA

Bonjour à tous,

bon, je continue mon masque de saisi et je voulais savoir si il était possible que dans ma liste déroulante 1 dans Combobox1 je fais un choix alors dans ma liste déroulante 2 dans Combobox2 il met que ce qui est en lien avec le choix 1.

alors j'ai essayé un code, mais c'est pas bon :

Private Sub ComboBox1_Change()

If ComboBox1 = "Foyer d'hébergement" Then
ComboBox2.List() = Array("", "App. 1er D", "App. 1er G", "RDJ", "PASSERELLE", "La Villa")

If ComboBox1 = "Foyer de vie" Then
ComboBox2.List() = Array("", "Groupe A", "Groupe B")

If ComboBox1 = "Centre d'Activité de jour" Then
ComboBox2.List() = Array("", "CAJ")

End If
End If
End If

End Sub

y a-til une manière sans créer de liste dans une feuille excel ?

pour l'instant dansle combobox2, une fois que j'ai fais un choix dans Combobox1 j'ai toujours la même liste...

Francky

18new-bdd.xlsm (26.61 Ko)

Bonjour

Remplaces ta macro par celle-ci

Et attention le signe = est sensible à la casse

Tu avais écrit "Centre d'Activité de Jour" avec jour tout en minuscule

Tu peux ajouter

Option Compare Text

en haut du module (au dessus de la 1ère procédure)

Private Sub ComboBox1_Change()
  Me.ComboBox2.Clear

  If ComboBox1 = "Foyer d'hébergement" Then
    ComboBox2.List() = Array("", "App. 1er D", "App. 1er G", "RDJ", "PASSERELLE", "La Villa")

  ElseIf ComboBox1 = "Foyer de vie" Then
    ComboBox2.List() = Array("", "Groupe A", "Groupe B")

  ElseIf ComboBox1 = "Centre d'Activité de Jour" Then
    ComboBox2.List() = Array("", "CAJ")

  End If

End Sub

Merci Banzai,

j'étais bien sur "Else", mais je ne connaissais pas "ElseIf"

et oui, je pars de loin...

Francky

ps : oui, il faut vraiment faire attention à la moindre virgule ou majuscule, c'est impressionnant les conséquences...

Rechercher des sujets similaires à "liste deroulante vba"