Combobox en cascade

atlas

XLDnaute Occasionnel
Bonjour , je cherche à faire des combobox en cascade ...
Cad dés qu'un combobox a un de ces items sélectionnés alors
un autre combobox jusque là invisible s'affiche .

Voici ce que j'aie fait mais je rencontre un bug ...

Code:
Private Sub ComboBox1_Change()

If Analyselitt.ComboBox1.Value = "st Dizier" Then
Call allumecombo(2)
End If

End Sub

Private Sub UserForm_initialize()

With Analyselitt.ComboBox1

.AddItem "st Dizier"
.AddItem "Compiegne"
.AddItem "Chalons"

End With

End Sub
Private Sub CommandButton1_Click()
Analyselitt.Hide
End Sub

Private Sub allumecombo(numindex As Integer)

Dim combo_dyna As Control
'Set combo_dyna = Me.Controls.Add("Forms.ComboBox." & numindex, "Combobox2", Visible = True) '
Set combo_dyna = Me.Controls("ComboBox" & numindex) 

With combo_dyna
.Top = 70
.Left = 0
.Width = 400
.AddItem "RECTOR"
.AddItem "KP1"
.AddItem "GUIRAUD"
End With

End Sub
 

Pièces jointes

  • aide combobox cascade.xls
    32 KB · Affichages: 64

job75

XLDnaute Barbatruc
Re : Combobox en cascade

Bonjour atlas,

Vous avez créé une seule ComboBox.

Et il me semble que vous tentez dans créer une autre par code VBA...

Ce n'est pas du tout la bonne solution.

Créez la d'abord dans l'UserForm, ensuite par VBA vous pourrez la rendre visible ou invisible en modifiant sa propriété Visible.

Je vous laisse revoir le code.

A+
 

Bebere

XLDnaute Barbatruc
Re : Combobox en cascade

bonjour le fil

cette ligne pose problème
Set combo_dyna = Me.Controls.Add("Forms.ComboBox." & numindex, "Combobox2", Visible = True) '

la bonne syntaxe
Set combo_dyna = Me.Controls.Add("Forms.ComboBox.1", "Combobox" & numindex, Visible = True) '
à bientôt
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 938
Membres
103 988
dernier inscrit
Feonix