lien entre combobox et textbox ou listbox

  • Initiateur de la discussion Initiateur de la discussion siscale
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

siscale

XLDnaute Nouveau
Bonjour,

Ma question porte sur un détail concernant les textbox.

Description rapide de ce que je fais:


je remplis un tableau excel via un Userform.

Sur ce Userform j'ai:

-2 comboboxs
-1 textbox
-bouton valider
-bouton quitter

La liste de choix de la deuxième combobox dépend du choix fait dans la première.

De même, la valeur de la textbox est défini par le choix réalisé dans les deux comboboxs.

soit : textbox.value=".." et ce pour une vingtaine de valeurs.

Mon code marche parfaitement. Cependant, lorsque les choix sont faits dans les comboboxs du userform, la valeur ne s'affiche pas directement dans la textbox.

Il faut que je click dedans et que j'appuie sur une touche clavier.

(j'ai essayé aussi textbox.text)

ma question est la suivante: Comment faire pour que, lorsque sur mon userform je fais le choix dans la combobox2, la valeur textbox.value définie dans mon code, s'affiche directement dans la textbox?


faut il utiliser une listbox ?

merci pour votre aide,

Cdlt
 
Re : lien entre combobox et textbox ou listbox

Bonjour,

Hervé, ceci va me renvoyer ce qui est écrit dans le combobox1.
moi je fais ceci:

si combobox1= x et combobox2 = y alors textbox=z
donc je veux afficher le z dans la textbox. au moment ou j'ai fait le choix dans le combobox 2 car lui est déterminant pour la valeur que je fixe dans la textbox


je vais écrire mon code sans rentrer dans toutes les combinaisons possibles:


option explicit
private sub userform_initialize()

combobox1.columncount=1
combobox1.list()=array("x","y","z")


private sub combobox1_change()

if combobox1.value="x" then
combobox2.columncount=1
combobox2.list()=array("a","b","c")

end if

pareil pour y et z , disons 3 valeurs différentes associées pour pas trop compliquer.

private sub textbox1_change()

if combobox1.value="x" and combobox2.value="a" then textbox1.value="o"

end if
de mutltiples combinaisons possibles.

end sub

private sub commandbutton1_click()

dim L as integer

L=Sheets("Détail 2016").Range("e656565").End(xlUp).Row+1

range("I"&L).Value=Textbox1
.... combobox1
.... combobox2

end sub

merci pour votre aide,
Cdlt
 
Re : lien entre combobox et textbox ou listbox

Bonjour à tous,

un classeur sans données confidentielles permettrait de vérifier la pertinence des réponses proposées .

private sub textbox1_change() ne sera déclenchée que lors d'une frappe en textbox1. ce n'est donc pas le bon évènement pour faire apparaitre une valeur dans cette textbox.

la valeur à faire afficher en textbox peut être définie dès la sélection d'une valeur en Combobox2; c'est donc dans private sub combobox2_change() que vous devez insérer vos tests et définir la valeur de la textbox

Code:
private sub combobox2_change()
 if combobox1.value="x" and combobox2.value="a" then textbox1.value="o"
end sub

A+
 
Re : lien entre combobox et textbox ou listbox

Bonsoir, merci pour ta réponse.
Oui je vais mettre un fichier demain.

mais si dans mon code je fait :

private sub combobox1_change()

if combobox1.value="x" then
combobox2.columncount=1
combobox2.list()=array("a","b","c")

et après

private sub combobox2_change()
if combobox1.value="x" and combobox2.value="a" then textbox1.value="o"
end sub

cela ne crée pas d'interférence sur la combobox2 ?
car la liste de la 2 dépend du choix fait dans la une.

merci d'avance.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
182
Réponses
16
Affichages
950
Retour