OVH Cloud OVH Cloud

Deux Combox reliées entre elles

4 réponses
Avatar
Xavier
Bonjour =E0 tous,

Voil=E0 mon probl=E8me.

Sur ma feuille, j'ai une liste de cat=E9gorie principale=20
sous la colonne A (voiture, moto, avion)

sous la colonne B, j'ai ma liste de voitures
sous la colonne C, j'ai ma liste de motos
sous la colonne D, j'ai ma liste d'avions

Dans mon Userforms j'ai deux Combox, le premier Combox1=20
est rempli par les donn=E9es de la colonne A (voiture,=20
moto, avion) mais comment faire pour que le Combox2 se=20
remplisse avec les donn=E9es, soit de la colonne B=20
(voiture), de la colonne C (moto) ou de la colonne D=20
(avion) en fonction du choix que je fais avec la Combox1.

Merci pour votre aide.

4 réponses

Avatar
Pierre Fauconnier
Bonjour

D'abord, nomme tes plages, c'est plus facile.
Tu auras ainsi une plage Vehicules ( col A ) une plage Autos ( col B ), une
plage Motos ( col C ) et une plage Avions (Col D)
Dans la liste des véhicules, tu saisis sur trois lignes Autos, Motos et
Avions
Tu renseigne le rowsource du comboBox1 sur la plage Vehicules
Dans le code de ton userform, tu colles ceci

Private Sub ComboBox1_Change()
Debug.Print ComboBox1.RowSource
ComboBox2.RowSource = "=" & ComboBox1.Value
End Sub

en adaptant éventuellement les noms de tes combos
Ainsi, à chaque changement dans ComboBox1, le rowsource du ComboBox2 est
adapté.

Cela convient-il?


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Xavier" a écrit dans le message de
news:142701c4a606$2e5eb5f0$
Bonjour à tous,

Voilà mon problème.

Sur ma feuille, j'ai une liste de catégorie principale
sous la colonne A (voiture, moto, avion)

sous la colonne B, j'ai ma liste de voitures
sous la colonne C, j'ai ma liste de motos
sous la colonne D, j'ai ma liste d'avions

Dans mon Userforms j'ai deux Combox, le premier Combox1
est rempli par les données de la colonne A (voiture,
moto, avion) mais comment faire pour que le Combox2 se
remplisse avec les données, soit de la colonne B
(voiture), de la colonne C (moto) ou de la colonne D
(avion) en fonction du choix que je fais avec la Combox1.

Merci pour votre aide.
Avatar
Pierre Fauconnier
Sorry, la ligne Debug.Print est de trop dans la macro. Il suffit de la
supprimer

Pierre

"Pierre Fauconnier" a écrit dans le
message de news:
Bonjour

D'abord, nomme tes plages, c'est plus facile.
Tu auras ainsi une plage Vehicules ( col A ) une plage Autos ( col B ),
une

plage Motos ( col C ) et une plage Avions (Col D)
Dans la liste des véhicules, tu saisis sur trois lignes Autos, Motos et
Avions
Tu renseigne le rowsource du comboBox1 sur la plage Vehicules
Dans le code de ton userform, tu colles ceci

Private Sub ComboBox1_Change()
Debug.Print ComboBox1.RowSource
ComboBox2.RowSource = "=" & ComboBox1.Value
End Sub

en adaptant éventuellement les noms de tes combos
Ainsi, à chaque changement dans ComboBox1, le rowsource du ComboBox2 est
adapté.

Cela convient-il?


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Xavier" a écrit dans le message de
news:142701c4a606$2e5eb5f0$
Bonjour à tous,

Voilà mon problème.

Sur ma feuille, j'ai une liste de catégorie principale
sous la colonne A (voiture, moto, avion)

sous la colonne B, j'ai ma liste de voitures
sous la colonne C, j'ai ma liste de motos
sous la colonne D, j'ai ma liste d'avions

Dans mon Userforms j'ai deux Combox, le premier Combox1
est rempli par les données de la colonne A (voiture,
moto, avion) mais comment faire pour que le Combox2 se
remplisse avec les données, soit de la colonne B
(voiture), de la colonne C (moto) ou de la colonne D
(avion) en fonction du choix que je fais avec la Combox1.

Merci pour votre aide.




Avatar
Xavier
Salut,
Merci pour ta réponse mais je pensais plutôt faire
quelque chose dans le style :
Determiner le ListIndex de la Combox1 et faire référence
à la bonne colonne.
A+

-----Message d'origine-----
Sorry, la ligne Debug.Print est de trop dans la macro.
Il suffit de la

supprimer

Pierre

"Pierre Fauconnier" a
écrit dans le

message de news:
Bonjour

D'abord, nomme tes plages, c'est plus facile.
Tu auras ainsi une plage Vehicules ( col A ) une plage
Autos ( col B ),


une
plage Motos ( col C ) et une plage Avions (Col D)
Dans la liste des véhicules, tu saisis sur trois
lignes Autos, Motos et


Avions
Tu renseigne le rowsource du comboBox1 sur la plage
Vehicules


Dans le code de ton userform, tu colles ceci

Private Sub ComboBox1_Change()
Debug.Print ComboBox1.RowSource
ComboBox2.RowSource = "=" & ComboBox1.Value
End Sub

en adaptant éventuellement les noms de tes combos
Ainsi, à chaque changement dans ComboBox1, le
rowsource du ComboBox2 est


adapté.

Cela convient-il?


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Xavier" a écrit
dans le message de


news:142701c4a606$2e5eb5f0$
Bonjour à tous,

Voilà mon problème.

Sur ma feuille, j'ai une liste de catégorie principale
sous la colonne A (voiture, moto, avion)

sous la colonne B, j'ai ma liste de voitures
sous la colonne C, j'ai ma liste de motos
sous la colonne D, j'ai ma liste d'avions

Dans mon Userforms j'ai deux Combox, le premier Combox1
est rempli par les données de la colonne A (voiture,
moto, avion) mais comment faire pour que le Combox2 se
remplisse avec les données, soit de la colonne B
(voiture), de la colonne C (moto) ou de la colonne D
(avion) en fonction du choix que je fais avec la
Combox1.



Merci pour votre aide.





.




Avatar
Pierre Fauconnier
Alors, tu peux utiliser

Private Sub ComboBox1_Change()
ComboBox2.RowSource = Feuil1.Range(Cells(2, ComboBox1.ListIndex + 2), _
Cells(65536, ComboBox1.ListIndex + 2).End(xlUp)).Address
End Sub

Cela convient-il?

Pierre

"Xavier" a écrit dans le message de
news:42ec01c4a60c$455cbb20$
Salut,
Merci pour ta réponse mais je pensais plutôt faire
quelque chose dans le style :
Determiner le ListIndex de la Combox1 et faire référence
à la bonne colonne.
A+

-----Message d'origine-----
Sorry, la ligne Debug.Print est de trop dans la macro.
Il suffit de la

supprimer

Pierre

"Pierre Fauconnier" a
écrit dans le

message de news:
Bonjour

D'abord, nomme tes plages, c'est plus facile.
Tu auras ainsi une plage Vehicules ( col A ) une plage
Autos ( col B ),


une
plage Motos ( col C ) et une plage Avions (Col D)
Dans la liste des véhicules, tu saisis sur trois
lignes Autos, Motos et


Avions
Tu renseigne le rowsource du comboBox1 sur la plage
Vehicules


Dans le code de ton userform, tu colles ceci

Private Sub ComboBox1_Change()
Debug.Print ComboBox1.RowSource
ComboBox2.RowSource = "=" & ComboBox1.Value
End Sub

en adaptant éventuellement les noms de tes combos
Ainsi, à chaque changement dans ComboBox1, le
rowsource du ComboBox2 est


adapté.

Cela convient-il?


--
Pierre Fauconnier ()
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci

"Xavier" a écrit
dans le message de


news:142701c4a606$2e5eb5f0$
Bonjour à tous,

Voilà mon problème.

Sur ma feuille, j'ai une liste de catégorie principale
sous la colonne A (voiture, moto, avion)

sous la colonne B, j'ai ma liste de voitures
sous la colonne C, j'ai ma liste de motos
sous la colonne D, j'ai ma liste d'avions

Dans mon Userforms j'ai deux Combox, le premier Combox1
est rempli par les données de la colonne A (voiture,
moto, avion) mais comment faire pour que le Combox2 se
remplisse avec les données, soit de la colonne B
(voiture), de la colonne C (moto) ou de la colonne D
(avion) en fonction du choix que je fais avec la
Combox1.



Merci pour votre aide.





.