[VB6] utilisation de Textbox dans un userform
Résolu
mortelrdv007
-
mortelrdv -
mortelrdv -
Bonjour,
je suis sous Excel 2003 SP2 en winXP.
je cherche à faire quelque chose de similaire à la fonction "InputBox" en userform.
j'ai fait mon userform qui s'appelle "usf_query"
je n'arrive pas à récupérer la valeur du texbox1 !!
y aurait il un truc que je n'aurait pas compris sur les userform ?
pourtant avec le code ci-dessous
lors de l'affichage j'ai bien la valeur dans le textbox1 "TOTOTOTO", mais après la variable valeur ne contient pas "TOTOTOTO".
Merci de vos lumiere.
je suis sous Excel 2003 SP2 en winXP.
je cherche à faire quelque chose de similaire à la fonction "InputBox" en userform.
j'ai fait mon userform qui s'appelle "usf_query"
sub test() dim valeur as variant usf_query.show valeur = usf_query.textbox1.value
je n'arrive pas à récupérer la valeur du texbox1 !!
y aurait il un truc que je n'aurait pas compris sur les userform ?
pourtant avec le code ci-dessous
sub test() dim valeur as variant usf_query.textbox1.value = "TOTOTOTO" usf_query.show valeur = usf_query.textbox1.value
lors de l'affichage j'ai bien la valeur dans le textbox1 "TOTOTOTO", mais après la variable valeur ne contient pas "TOTOTOTO".
Merci de vos lumiere.
A voir également:
- [VB6] utilisation de Textbox dans un userform
- Utilisation chromecast - Guide
- Vb6 - Télécharger - Divers Utilitaires
- Télécharger gratuitement notice d'utilisation - Guide
- La ressource demandée est en cours d'utilisation - Forum Téléphones & tablettes Android
- Logiciel en Cours d'utilisation ? ✓ - Forum Logiciels
4 réponses
Ta variable ne semble pas Global.
Rejout un msgbox juste apres l affectation pour voir si c est vraiement la cas.
Dans ce cas, Il faut la passer la "Valeur" par reference.. non pas par valeur ...
Je suis sur que c est ca ...
Rejout un msgbox juste apres l affectation pour voir si c est vraiement la cas.
Dans ce cas, Il faut la passer la "Valeur" par reference.. non pas par valeur ...
Je suis sur que c est ca ...
Donc si je comprends bien le sous-entendu par ta remarque, userform ~ fonction et que les variables sont perdues dès que l'userform se ferme.
Je dois donc utiliser une variable globale dans l'userform pour récupérer les info que je veux !!
Je dois donc utiliser une variable globale dans l'userform pour récupérer les info que je veux !!
Bonjour,
Tu ne suis pas bien le cheminement de l'userform..
Pour y remédier...
Dans l'UF tu met un bouton, par exemple QUITTER
dans le code du bouton tu met...
Me.Hide
et ta macro devient...
A+
EDIT : Et pour ton info, ce n'est pas du VB6 mais du VBA, ce qui est différent.
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Tu ne suis pas bien le cheminement de l'userform..
sub test() dim valeur as variant 'Ici tu ouvre implicitement l'UF (load) et tu assigne la variable au TextBox.. OK usf_query.textbox1.value = "TOTOTOTO" ' 'Ici tu "montre" l'UF.. OK usf_query.show 'Pour arriver ici tu doit avoir fermer l'UF (cliquer sur la croix rouge) 'Donc l'UF "N'EXISTE PLUS" ICI tu REOUVRE l'UF mais sans assigner de valeur au textbox, donc c'est vide ce qui est normal. valeur = usf_query.textbox1.value
Pour y remédier...
Dans l'UF tu met un bouton, par exemple QUITTER
dans le code du bouton tu met...
Me.Hide
et ta macro devient...
sub test() dim valeur as variant usf_query.textbox1.value = "TOTOTOTO" usf_query.show valeur = usf_query.textbox1.value Unload usf_query
A+
EDIT : Et pour ton info, ce n'est pas du VB6 mais du VBA, ce qui est différent.
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)