OVH Cloud OVH Cloud

userform et combobox

12 réponses
Avatar
loic.
Bonjour,=20


J'ai essay=E9 d'adapter le code :

Private Sub Userform_Initialize()
test =3D [a5]
End Sub

ou "test" n'est pas une textbox mais une combobox.
Pb je ne sais pas que faire pour que la combobox=20
contiennent une ligne de choix et non pas les valeurs=20
d'une seule cellule ...
j'ai essay=E9 diverses choses mais je ne trouve pas...=20

Merci =E0 vous ;)

ps: Merci =E0 toi Camille qui va encore me r=E9pondre je le=20
sens bien :ppp

bonne journ=E9e

10 réponses

1 2
Avatar
Ellimac
Salut Loïc,

Private Sub UserForm_Initialize()
Test.RowSource = Range("a1:a3").Address
End Sub

Camille

-----Message d'origine-----
Bonjour,


J'ai essayé d'adapter le code :

Private Sub Userform_Initialize()
test = [a5]
End Sub

ou "test" n'est pas une textbox mais une combobox.
Pb je ne sais pas que faire pour que la combobox
contiennent une ligne de choix et non pas les valeurs
d'une seule cellule ...
j'ai essayé diverses choses mais je ne trouve pas...

Merci à vous ;)

ps: Merci à toi Camille qui va encore me répondre je le
sens bien :ppp

bonne journée
.



Avatar
Ellimac
Rebonjour,

1) Une zone qui part d'une cellule jusqu'à la dernière
cellule remplie : Range([A3],[A3].End(XlDown)).Address
2) Pas compris !!

Camille

-----Message d'origine-----
eheheheh
Merci camille ! :)


Deux petites questions en complément si cela ne t'ennuie
pas.
dans ce code : Test.RowSource = Range("a1:a3").Address on
sous entends que la range est défini (que l'on connait le
nombre de ligne ...) cependant cette range dépends du
nombre de valeur inscrite depuis un formulaire de
saisie... ya moyen de corriger cela?
Sinon que faire pour que la textbox sélectionné soit en
concordance avec la valeur selectionné dans la combox?

Je prends des notes hein, pour pas avoir à redemander :)
THK

-----Message d'origine-----
Salut Loïc,

Private Sub UserForm_Initialize()
Test.RowSource = Range("a1:a3").Address
End Sub

Camille

-----Message d'origine-----
Bonjour,


J'ai essayé d'adapter le code :

Private Sub Userform_Initialize()
test = [a5]
End Sub

ou "test" n'est pas une textbox mais une combobox.
Pb je ne sais pas que faire pour que la combobox
contiennent une ligne de choix et non pas les valeurs
d'une seule cellule ...
j'ai essayé diverses choses mais je ne trouve pas...

Merci à vous ;)

ps: Merci à toi Camille qui va encore me répondre je le
sens bien :ppp

bonne journée
.

.


.






Avatar
Loic.
Excellent, pil poil ce que je cherchais merci Camille.

explication du 2/ :
Une fois le choix sélectionné dans la combobox, j'aimerais
qu'un résultat différent s'affiche dans une textbox...
J'ai su faire grrrr :///

Merci !;-)

ps: désolé pour le doublon

-----Message d'origine-----
Rebonjour,

1) Une zone qui part d'une cellule jusqu'à la dernière
cellule remplie : Range([A3],[A3].End(XlDown)).Address
2) Pas compris !!

Camille

-----Message d'origine-----
eheheheh
Merci camille ! :)


Deux petites questions en complément si cela ne t'ennuie
pas.
dans ce code : Test.RowSource = Range("a1:a3").Address
on


sous entends que la range est défini (que l'on connait
le


nombre de ligne ...) cependant cette range dépends du
nombre de valeur inscrite depuis un formulaire de
saisie... ya moyen de corriger cela?
Sinon que faire pour que la textbox sélectionné soit en
concordance avec la valeur selectionné dans la combox?

Je prends des notes hein, pour pas avoir à redemander :)
THK

-----Message d'origine-----
Salut Loïc,

Private Sub UserForm_Initialize()
Test.RowSource = Range("a1:a3").Address
End Sub

Camille

-----Message d'origine-----
Bonjour,


J'ai essayé d'adapter le code :

Private Sub Userform_Initialize()
test = [a5]
End Sub

ou "test" n'est pas une textbox mais une combobox.
Pb je ne sais pas que faire pour que la combobox
contiennent une ligne de choix et non pas les valeurs
d'une seule cellule ...
j'ai essayé diverses choses mais je ne trouve pas...

Merci à vous ;)

ps: Merci à toi Camille qui va encore me répondre je
le




sens bien :ppp

bonne journée
.

.


.


.







Avatar
Ellimac
Re,

Je ne comprend toujours pas !!!
A quoi sert la combobox et quel lien avec la TextBox ?

Camille

-----Message d'origine-----
Excellent, pil poil ce que je cherchais merci Camille.

explication du 2/ :
Une fois le choix sélectionné dans la combobox,
j'aimerais

qu'un résultat différent s'affiche dans une textbox...
J'ai su faire grrrr :///

Merci !;-)

ps: désolé pour le doublon

-----Message d'origine-----
Rebonjour,

1) Une zone qui part d'une cellule jusqu'à la dernière
cellule remplie : Range([A3],[A3].End(XlDown)).Address
2) Pas compris !!

Camille

-----Message d'origine-----
eheheheh
Merci camille ! :)


Deux petites questions en complément si cela ne
t'ennuie



pas.
dans ce code : Test.RowSource = Range("a1:a3").Address
on


sous entends que la range est défini (que l'on connait
le


nombre de ligne ...) cependant cette range dépends du
nombre de valeur inscrite depuis un formulaire de
saisie... ya moyen de corriger cela?
Sinon que faire pour que la textbox sélectionné soit en
concordance avec la valeur selectionné dans la combox?

Je prends des notes hein, pour pas avoir à redemander :)
THK

-----Message d'origine-----
Salut Loïc,

Private Sub UserForm_Initialize()
Test.RowSource = Range("a1:a3").Address
End Sub

Camille

-----Message d'origine-----
Bonjour,


J'ai essayé d'adapter le code :

Private Sub Userform_Initialize()
test = [a5]
End Sub

ou "test" n'est pas une textbox mais une combobox.
Pb je ne sais pas que faire pour que la combobox
contiennent une ligne de choix et non pas les valeurs
d'une seule cellule ...
j'ai essayé diverses choses mais je ne trouve pas...

Merci à vous ;)

ps: Merci à toi Camille qui va encore me répondre je
le




sens bien :ppp

bonne journée
.

.


.


.


.








Avatar
Misange
hehehehe ! si tu poses deux fois la question dans deux ficelles différentes
on ne s'y retrouve plus ! je viens de te répondre dans la nouvelle ficelle
que tu avais initiée...

--
Misange migrateuse http://www.excelabo.net
==Attention, Disciplus a migré et devient excelabo !===========



"Loic." a écrit dans le message de news:
084201c3580d$709be570$
eheheheh
Merci camille ! :)


Deux petites questions en complément si cela ne t'ennuie
pas.
dans ce code : Test.RowSource = Range("a1:a3").Address on
sous entends que la range est défini (que l'on connait le
nombre de ligne ...) cependant cette range dépends du
nombre de valeur inscrite depuis un formulaire de
saisie... ya moyen de corriger cela?
Sinon que faire pour que la textbox sélectionné soit en
concordance avec la valeur selectionné dans la combox?

Je prends des notes hein, pour pas avoir à redemander :)
THK

-----Message d'origine-----
Salut Loïc,

Private Sub UserForm_Initialize()
Test.RowSource = Range("a1:a3").Address
End Sub

Camille

-----Message d'origine-----
Bonjour,


J'ai essayé d'adapter le code :

Private Sub Userform_Initialize()
test = [a5]
End Sub

ou "test" n'est pas une textbox mais une combobox.
Pb je ne sais pas que faire pour que la combobox
contiennent une ligne de choix et non pas les valeurs
d'une seule cellule ...
j'ai essayé diverses choses mais je ne trouve pas...

Merci à vous ;)

ps: Merci à toi Camille qui va encore me répondre je le
sens bien :ppp

bonne journée
.

.





Avatar
loic.
Merci !

Mais je n'ai pas saisi pourquoi ma réponse écrite bien
avant l'autre (que tu as vu) n'a pas apparu ici ://
Merci en tout cas :)

-----Message d'origine-----
hehehehe ! si tu poses deux fois la question dans deux
ficelles différentes

on ne s'y retrouve plus ! je viens de te répondre dans la
nouvelle ficelle

que tu avais initiée...

--
Misange migrateuse http://www.excelabo.net
==Attention, Disciplus a migré et devient excelabo !
============





"Loic." a écrit dans le message de
news:

084201c3580d$709be570$
eheheheh
Merci camille ! :)


Deux petites questions en complément si cela ne t'ennuie
pas.
dans ce code : Test.RowSource = Range("a1:a3").Address on
sous entends que la range est défini (que l'on connait le
nombre de ligne ...) cependant cette range dépends du
nombre de valeur inscrite depuis un formulaire de
saisie... ya moyen de corriger cela?
Sinon que faire pour que la textbox sélectionné soit en
concordance avec la valeur selectionné dans la combox?

Je prends des notes hein, pour pas avoir à redemander :)
THK

-----Message d'origine-----
Salut Loïc,

Private Sub UserForm_Initialize()
Test.RowSource = Range("a1:a3").Address
End Sub

Camille

-----Message d'origine-----
Bonjour,


J'ai essayé d'adapter le code :

Private Sub Userform_Initialize()
test = [a5]
End Sub

ou "test" n'est pas une textbox mais une combobox.
Pb je ne sais pas que faire pour que la combobox
contiennent une ligne de choix et non pas les valeurs
d'une seule cellule ...
j'ai essayé diverses choses mais je ne trouve pas...

Merci à vous ;)

ps: Merci à toi Camille qui va encore me répondre je le
sens bien :ppp

bonne journée
.

.





.





Avatar
Misange
biscotte je lis le forum par ordre d'apparition inverse des messages ! les
plus récents en premier, regroupés par conversations. Ca m'évite de jouer de
l'ascenceur pour trouver les nouvelles interventions.

Je t'ai répondu dans l'autre ficelle encore une fois d'ailleurs ! mais
j'avais pas tout tout compris. Il faut que tu regardes du côté de la
propriété boundcolumn pour récupérer la valeur qui t'intéresse (meuble et
pas table)

Quand l'utilisateur choisit une ligne dans un contrôle ListBox ou ComboBox à
plusieurs colonnes, la propriété BoundColumn identifie quel élément de cette
ligne est à stocker comme la valeur du contrôle. Par exemple, si chaque
ligne contient huit éléments et BoundColumn est 3, le système stocke les
informations de la troisième colonne de la ligne actuellement sélectionnée
en tant que valeur de l'objet.
--
Misange migrateuse http://www.excelabo.net
==Attention, Disciplus a migré et devient excelabo !===========



"loic." a écrit dans le message de news:
099501c35824$83705570$
Merci !

Mais je n'ai pas saisi pourquoi ma réponse écrite bien
avant l'autre (que tu as vu) n'a pas apparu ici ://
Merci en tout cas :)

-----Message d'origine-----
hehehehe ! si tu poses deux fois la question dans deux
ficelles différentes

on ne s'y retrouve plus ! je viens de te répondre dans la
nouvelle ficelle

que tu avais initiée...

--
Misange migrateuse http://www.excelabo.net
==Attention, Disciplus a migré et devient excelabo !
=========== >




"Loic." a écrit dans le message de
news:

084201c3580d$709be570$
eheheheh
Merci camille ! :)


Deux petites questions en complément si cela ne t'ennuie
pas.
dans ce code : Test.RowSource = Range("a1:a3").Address on
sous entends que la range est défini (que l'on connait le
nombre de ligne ...) cependant cette range dépends du
nombre de valeur inscrite depuis un formulaire de
saisie... ya moyen de corriger cela?
Sinon que faire pour que la textbox sélectionné soit en
concordance avec la valeur selectionné dans la combox?

Je prends des notes hein, pour pas avoir à redemander :)
THK

-----Message d'origine-----
Salut Loïc,

Private Sub UserForm_Initialize()
Test.RowSource = Range("a1:a3").Address
End Sub

Camille

-----Message d'origine-----
Bonjour,


J'ai essayé d'adapter le code :

Private Sub Userform_Initialize()
test = [a5]
End Sub

ou "test" n'est pas une textbox mais une combobox.
Pb je ne sais pas que faire pour que la combobox
contiennent une ligne de choix et non pas les valeurs
d'une seule cellule ...
j'ai essayé diverses choses mais je ne trouve pas...

Merci à vous ;)

ps: Merci à toi Camille qui va encore me répondre je le
sens bien :ppp

bonne journée
.

.





.





Avatar
loic.
mais c'est bien sûr :)
Non je blague mais je n'ai rien compris... ou si peu :p
Vais relire tout ça, trouver une doc sur Bound (pas le
film hein! ) et bosser dessus histoire de comprendre par
moi même.

Bonne fin de journée et merci pour tout ces messages :)

-----Message d'origine-----
biscotte je lis le forum par ordre d'apparition inverse
des messages ! les

plus récents en premier, regroupés par conversations. Ca
m'évite de jouer de

l'ascenceur pour trouver les nouvelles interventions.

Je t'ai répondu dans l'autre ficelle encore une fois
d'ailleurs ! mais

j'avais pas tout tout compris. Il faut que tu regardes du
côté de la

propriété boundcolumn pour récupérer la valeur qui
t'intéresse (meuble et

pas table)

Quand l'utilisateur choisit une ligne dans un contrôle
ListBox ou ComboBox à

plusieurs colonnes, la propriété BoundColumn identifie
quel élément de cette

ligne est à stocker comme la valeur du contrôle. Par
exemple, si chaque

ligne contient huit éléments et BoundColumn est 3, le
système stocke les

informations de la troisième colonne de la ligne
actuellement sélectionnée

en tant que valeur de l'objet.
--
Misange migrateuse http://www.excelabo.net
==Attention, Disciplus a migré et devient excelabo !
============





"loic." a écrit dans le message de
news:

099501c35824$83705570$
Merci !

Mais je n'ai pas saisi pourquoi ma réponse écrite bien
avant l'autre (que tu as vu) n'a pas apparu ici ://
Merci en tout cas :)

-----Message d'origine-----
hehehehe ! si tu poses deux fois la question dans deux
ficelles différentes

on ne s'y retrouve plus ! je viens de te répondre dans la
nouvelle ficelle

que tu avais initiée...

--
Misange migrateuse http://www.excelabo.net
==Attention, Disciplus a migré et devient excelabo !
============





"Loic." a écrit dans le message de
news:

084201c3580d$709be570$
eheheheh
Merci camille ! :)


Deux petites questions en complément si cela ne t'ennuie
pas.
dans ce code : Test.RowSource = Range("a1:a3").Address on
sous entends que la range est défini (que l'on connait le
nombre de ligne ...) cependant cette range dépends du
nombre de valeur inscrite depuis un formulaire de
saisie... ya moyen de corriger cela?
Sinon que faire pour que la textbox sélectionné soit en
concordance avec la valeur selectionné dans la combox?

Je prends des notes hein, pour pas avoir à redemander :)
THK

-----Message d'origine-----
Salut Loïc,

Private Sub UserForm_Initialize()
Test.RowSource = Range("a1:a3").Address
End Sub

Camille

-----Message d'origine-----
Bonjour,


J'ai essayé d'adapter le code :

Private Sub Userform_Initialize()
test = [a5]
End Sub

ou "test" n'est pas une textbox mais une combobox.
Pb je ne sais pas que faire pour que la combobox
contiennent une ligne de choix et non pas les valeurs
d'une seule cellule ...
j'ai essayé diverses choses mais je ne trouve pas...

Merci à vous ;)

ps: Merci à toi Camille qui va encore me répondre je le
sens bien :ppp

bonne journée
.

.





.




.






Avatar
Ellimac
Voilà qui est nettement plus clair !!! :)

Private Sub ComboBox1_Change()
With Range([a1],[a1].end(XlDown))
Set c = .Find(ComboBox1, LookIn:=xlValues)
If Not c Is Nothing Then firstaddress = c.Address
End With
TextBox1 = Range(firstaddress).Offset(0, 1).Value
End Sub

Camille (qui se sauve en WE)

-----Message d'origine-----
ok :)

vais détailler un max alors :)))

On a des valeurs en A5 jusqu'à Ax (ou x est varaible)
On a des valeurs correpondante en B5.

Exemple :

A5 B5
chat animal
table meuble


Dans la combobox aujourd'hui, on trouverai : Chat / table
et ce grace à ton aide :)
Mais j'aimerais que quand Chat soit choisi, dans une
textbox apparaisse la correspondance cad : animal.

C'est mieux là?:)))
Par contre je viens de m'apercevoir qu'il serait tres
utile de pouvoir Supprimer des valeurs en A5 (si erreur
de

validation par exemple). Le mieux ne serait 'il pas une
combobox qui repprenne les valeurs de la colonne A et qui
une fois la valeur selectionner autorise le click sur un
bouton "delete" pour supprimer la ligne?

Tres intéressant tout ça :)

-----Message d'origine-----
Re,

Je ne comprend toujours pas !!!
A quoi sert la combobox et quel lien avec la TextBox ?

Camille

-----Message d'origine-----
Excellent, pil poil ce que je cherchais merci Camille.

explication du 2/ :
Une fois le choix sélectionné dans la combobox,
j'aimerais

qu'un résultat différent s'affiche dans une textbox...
J'ai su faire grrrr :///

Merci !;-)

ps: désolé pour le doublon

-----Message d'origine-----
Rebonjour,

1) Une zone qui part d'une cellule jusqu'à la dernière
cellule remplie : Range([A3],[A3].End(XlDown)).Address
2) Pas compris !!

Camille

-----Message d'origine-----
eheheheh
Merci camille ! :)


Deux petites questions en complément si cela ne
t'ennuie



pas.
dans ce code : Test.RowSource = Range
("a1:a3").Address





on
sous entends que la range est défini (que l'on
connait





le
nombre de ligne ...) cependant cette range dépends du
nombre de valeur inscrite depuis un formulaire de
saisie... ya moyen de corriger cela?
Sinon que faire pour que la textbox sélectionné soit
en




concordance avec la valeur selectionné dans la combox?

Je prends des notes hein, pour pas avoir à
redemander :)




THK

-----Message d'origine-----
Salut Loïc,

Private Sub UserForm_Initialize()
Test.RowSource = Range("a1:a3").Address
End Sub

Camille

-----Message d'origine-----
Bonjour,


J'ai essayé d'adapter le code :

Private Sub Userform_Initialize()
test = [a5]
End Sub

ou "test" n'est pas une textbox mais une combobox.
Pb je ne sais pas que faire pour que la combobox
contiennent une ligne de choix et non pas les
valeurs






d'une seule cellule ...
j'ai essayé diverses choses mais je ne trouve
pas...








Merci à vous ;)

ps: Merci à toi Camille qui va encore me répondre
je







le
sens bien :ppp

bonne journée
.

.


.


.


.


.


.










Avatar
Misange
plus simple :-)
sur une feuille de ton classeur (data)
en colonne A chat chien poisson, table chaise...
en colonne B animal animal animal meuble meuble...
Insertion/nom/définir : dans la case du haut tu écris maliste
dans la case du bas tu recopies :
ÞCALER(data!$A$1;;;NBVAL(data!$A:$A);2)

tu n'écris rien d'autre dans ces colonnes A et B

dans le code de ton userform :

Private Sub UserForm_Initialize()
ComboBox1.RowSource = "data!maliste"
End Sub


Private Sub ComboBox1_Change()
TextBox1.Value = ComboBox1.Column(1, ComboBox1.ListIndex)
End Sub


Un exemple dans ta BAL


--
Misange migrateuse http://www.excelabo.net
==Attention, Disciplus a migré et devient excelabo !===========



"Ellimac" a écrit dans le
message de news: 0a6901c35839$dca273c0$
Voilà qui est nettement plus clair !!! :)

Private Sub ComboBox1_Change()
With Range([a1],[a1].end(XlDown))
Set c = .Find(ComboBox1, LookIn:=xlValues)
If Not c Is Nothing Then firstaddress = c.Address
End With
TextBox1 = Range(firstaddress).Offset(0, 1).Value
End Sub

Camille (qui se sauve en WE)

-----Message d'origine-----
ok :)

vais détailler un max alors :)))

On a des valeurs en A5 jusqu'à Ax (ou x est varaible)
On a des valeurs correpondante en B5.

Exemple :

A5 B5
chat animal
table meuble


Dans la combobox aujourd'hui, on trouverai : Chat / table
et ce grace à ton aide :)
Mais j'aimerais que quand Chat soit choisi, dans une
textbox apparaisse la correspondance cad : animal.

C'est mieux là?:)))
Par contre je viens de m'apercevoir qu'il serait tres
utile de pouvoir Supprimer des valeurs en A5 (si erreur
de

validation par exemple). Le mieux ne serait 'il pas une
combobox qui repprenne les valeurs de la colonne A et qui
une fois la valeur selectionner autorise le click sur un
bouton "delete" pour supprimer la ligne?

Tres intéressant tout ça :)

-----Message d'origine-----
Re,

Je ne comprend toujours pas !!!
A quoi sert la combobox et quel lien avec la TextBox ?

Camille

-----Message d'origine-----
Excellent, pil poil ce que je cherchais merci Camille.

explication du 2/ :
Une fois le choix sélectionné dans la combobox,
j'aimerais

qu'un résultat différent s'affiche dans une textbox...
J'ai su faire grrrr :///

Merci !;-)

ps: désolé pour le doublon

-----Message d'origine-----
Rebonjour,

1) Une zone qui part d'une cellule jusqu'à la dernière
cellule remplie : Range([A3],[A3].End(XlDown)).Address
2) Pas compris !!

Camille

-----Message d'origine-----
eheheheh
Merci camille ! :)


Deux petites questions en complément si cela ne
t'ennuie



pas.
dans ce code : Test.RowSource = Range
("a1:a3").Address





on
sous entends que la range est défini (que l'on
connait





le
nombre de ligne ...) cependant cette range dépends du
nombre de valeur inscrite depuis un formulaire de
saisie... ya moyen de corriger cela?
Sinon que faire pour que la textbox sélectionné soit
en




concordance avec la valeur selectionné dans la combox?

Je prends des notes hein, pour pas avoir à
redemander :)




THK

-----Message d'origine-----
Salut Loïc,

Private Sub UserForm_Initialize()
Test.RowSource = Range("a1:a3").Address
End Sub

Camille

-----Message d'origine-----
Bonjour,


J'ai essayé d'adapter le code :

Private Sub Userform_Initialize()
test = [a5]
End Sub

ou "test" n'est pas une textbox mais une combobox.
Pb je ne sais pas que faire pour que la combobox
contiennent une ligne de choix et non pas les
valeurs






d'une seule cellule ...
j'ai essayé diverses choses mais je ne trouve
pas...








Merci à vous ;)

ps: Merci à toi Camille qui va encore me répondre
je







le
sens bien :ppp

bonne journée
.

.


.


.


.


.


.










1 2