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 ??
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 ?
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
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 ?
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
'*******************
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 ?
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
mephisto_atecmi
excuse-moi, c'est ptét une question idiote, mais comment puis-je t'envoyer ce classeur exemple?
excuse-moi, c'est ptét une question idiote, mais comment puis-je t'envoyer ce
classeur exemple?