OVH Cloud OVH Cloud

pti problème de combobox...

14 réponses
Avatar
mephisto_atecmi
Salut,
J'ai placé 2 combobox sur un userform et j'aimerai que la rowsource de la
combo2 change en fonction de ce que je choisis dans ma combo1.
J'ai essayé ceci :

Private Sub combo1_Change()

If combo1.Value = "Rexnord" Then
combo2.RowSource = "dm1:dm5"
End If
If Combo1.Value = "Ets Allards" Then
nombre.RowSource = "dm6:dm10"
End If

End Sub

Mais ça ne fonctionne pas...Pourriez-vous m'aider ??

4 réponses

1 2
Avatar
PMO
Bonjour,

Ci-dessous le code amélioré pour aller dans votre sens.
On change d'évènement (Combo1_change vs Combo1_AfterUpdate).
Il vous faudra adapter les lignes du genre
Combo2.Value = var(3, 1)
où le nombre 3 de var(3,1) indique le troisième item qui s'affichera
par défaut. Ainsi si vous voulez que le premier item s'affiche par défaut
changez 3 par 1.

'******************
Private Sub Combo1_change()
Dim var
Combo2.RowSource = ""
If Combo1.Value = "Rexnord" Then
Combo2.RowSource = "a1:a5"
var = Range("a1:a5")
Combo2.Value = var(3, 1) '3ème item sélectionné
End If
If Combo1.Value = "Ets Allards" Then
Combo2.RowSource = "a6:a10"
var = Range("a6:a10")
Combo2.Value = var(1, 1) '1er item sélectionné
End If
End Sub

Private Sub UserForm_Initialize() 'Adapter UserForm selon sa propriété Name
Combo1.RowSource = "b1:b2"
End Sub
'******************

Cordialement.
--
PMO
Patrick Morange




Merci pour votre aide,mais il reste un dernier problème :
Apparemment lorsque je sélectionne une donnée dans ma combo1, il ya le bon
nombre de donnée dans la combo2 mais il n'y a rien d'écrit !! c'est vide.
Je n'ai pas fait d'erreur de majuscule/minuscule ni de synthaxe.
Pourriez-vous m'éclairer ?

------------------------------------------------------------------------------------------

Bonjour,

En supposant que la liste des noms de votre Combo1 est
dans la plage "dg1:dg2" essayez ceci:

'*******************
Private Sub Combo1_AfterUpdate()
Combo2.RowSource = ""
If Combo1.Value = "Rexnord" Then
Combo2.RowSource = "dm1:dm5"
End If
If Combo1.Value = "Ets Allards" Then
Combo2.RowSource = "dm6:dm10"
End If
End Sub

Private Sub UserForm_Initialize() 'Adapter UserForm selon sa propriété Name
Combo1.RowSource = "dg1:dg2"
End Sub
'*******************

Cordialement.
--
PMO
Patrick Morange






Avatar
mephisto_atecmi
excuse-moi, c'est ptét une question idiote, mais comment puis-je t'envoyer ce
classeur exemple?
Avatar
Phil99999



excuse-moi, c'est ptét une question idiote, mais comment puis-je t'envoyer ce
classeur exemple?


Avatar
mephisto_atecmi
C'est ok !! jte l'ai envoyé ! Merci !!!










1 2