Problème sur fonction me.control VBA EXCEL
Résolu
goku13127
Messages postés
3
Statut
Membre
-
goku13127 Messages postés 3 Statut Membre -
goku13127 Messages postés 3 Statut Membre -
Bonjour,
Je suis nouveau sur le forum et surtout sur VBA. J'ai un combobox (combobox1), selon la donnée sélectionnée dans combobox1, il doit apparaître dans combobox 2 des données sélectionnées sur une feuille EXCEL.
J'ai rentré ce code :
Private Sub ComboBox1_Change()
If ComboBox1 = "aaa" Then
Dim i As Integer
For i = 1 To 3
Me.Controls("ComboBox2" & i).RowSource = _
"feuil1!t235:t240"
Next i
If ComboBox1 = "bbb" Then
Dim i As Integer
For i = 1 To 3
Me.Controls("ComboBox2" & i).RowSource = _
"feuil1!t241:t245"
Next i
end if
end sub
J'avais recopié ce code car le problème recopié un peu au mien. Mais un message d'erreur apparaît en mettant "Objet spécifié introuvable". Je ne savais pas ce que veut dire le "Me".
Merci d'avance pour votre aide
Je suis nouveau sur le forum et surtout sur VBA. J'ai un combobox (combobox1), selon la donnée sélectionnée dans combobox1, il doit apparaître dans combobox 2 des données sélectionnées sur une feuille EXCEL.
J'ai rentré ce code :
Private Sub ComboBox1_Change()
If ComboBox1 = "aaa" Then
Dim i As Integer
For i = 1 To 3
Me.Controls("ComboBox2" & i).RowSource = _
"feuil1!t235:t240"
Next i
If ComboBox1 = "bbb" Then
Dim i As Integer
For i = 1 To 3
Me.Controls("ComboBox2" & i).RowSource = _
"feuil1!t241:t245"
Next i
end if
end sub
J'avais recopié ce code car le problème recopié un peu au mien. Mais un message d'erreur apparaît en mettant "Objet spécifié introuvable". Je ne savais pas ce que veut dire le "Me".
Merci d'avance pour votre aide
2 réponses
Bonjour,
A première, vue, ce n'est pas le Me (qui représente ta Form courante) qui pose problème.
Le problème se situe sur tes boucles For.
Tu veux utilisé le contrôle "ComboBox2" & i.
Pour i =1 ça donne ComboBox21
Pour i =2 ça donne ComboBox22
Pour i =3 ça donne ComboBox23
Hors, il m'étonnerait que tu ais un contrôle qui s'appelle ComboBox21, ComboBox22 ou bien ComboBox23.
Pour remédier au problème, dans tes parenthèses après Controls tu ne mets pas ("ComboBox2" & i) mais ("ComboBox2").
Ça devrait fonctionner.
Cdt
A première, vue, ce n'est pas le Me (qui représente ta Form courante) qui pose problème.
Le problème se situe sur tes boucles For.
Tu veux utilisé le contrôle "ComboBox2" & i.
Pour i =1 ça donne ComboBox21
Pour i =2 ça donne ComboBox22
Pour i =3 ça donne ComboBox23
Hors, il m'étonnerait que tu ais un contrôle qui s'appelle ComboBox21, ComboBox22 ou bien ComboBox23.
Pour remédier au problème, dans tes parenthèses après Controls tu ne mets pas ("ComboBox2" & i) mais ("ComboBox2").
Ça devrait fonctionner.
Cdt
Bonjour gregouz62,
Merci pour ta réponse elle fonctionne parfaitement. Pour ceux qui seraient interressés voici le code que j'ai mis :
Private Sub ComboBox1_Change()
If ComboBox1 = "ALGERIA" Then
Me.Controls("ComboBox2").RowSource = _
"feuil1!t235:t235"
ElseIf ComboBox1 = "ANGOLA" Then
Me.Controls("ComboBox2").RowSource = _
"feuil1!t236:t236"
ElseIf ComboBox1 = "ARGENTINA" Then
Me.Controls("ComboBox2").RowSource = _
"feuil1!t237:t237"
Ainsi de suite pour toutes les valeures qui se trouvent dans mon combobox 1.
Encore merci
Merci pour ta réponse elle fonctionne parfaitement. Pour ceux qui seraient interressés voici le code que j'ai mis :
Private Sub ComboBox1_Change()
If ComboBox1 = "ALGERIA" Then
Me.Controls("ComboBox2").RowSource = _
"feuil1!t235:t235"
ElseIf ComboBox1 = "ANGOLA" Then
Me.Controls("ComboBox2").RowSource = _
"feuil1!t236:t236"
ElseIf ComboBox1 = "ARGENTINA" Then
Me.Controls("ComboBox2").RowSource = _
"feuil1!t237:t237"
Ainsi de suite pour toutes les valeures qui se trouvent dans mon combobox 1.
Encore merci