OVH Cloud OVH Cloud

Passage et retour de variable à un UserForm

3 réponses
Avatar
MUCH
Bonjour,

Apr=E8s une recherche sur le news group et n'ayant pas=20
trouver ma question et sa r=E9ponse, je vous pose le=20
probl=E8me suivant :

J'ai cr=E9=E9 un UserForm pour facilit=E9 la saisie de param=E8tre=20
pour un calcul (fonction VBA).
Pour le moment j'utilise une variable globale au projet,=20
mais je n'aime pas cette solution.

Comment peut-on passer une variable =E0 un UserForm au=20
moment de l'=E9venement Show ?
Comment le UserForm peut-il renvoyer la variable qu'il a=20
modifi=E9 lors de l'=E9v=E9nement Close ou Hide ?

Merci d'avance

Much

3 réponses

Avatar
papou
Bonjour
Tu peux déclarer ta variable au niveau de l'évènement Initialize de ton
Userform
Ta variable aura la durée de vie de ton userform, c'est à dire qu'avec un
.Hide, la variable est toujours exploitable mais plus avec un Unload.
Si j'ai bien compris la question ;-)

Cordialement
Pascal

"MUCH" a écrit dans le message de
news:098701c4a150$abc02b10$
Bonjour,

Après une recherche sur le news group et n'ayant pas
trouver ma question et sa réponse, je vous pose le
problème suivant :

J'ai créé un UserForm pour facilité la saisie de paramètre
pour un calcul (fonction VBA).
Pour le moment j'utilise une variable globale au projet,
mais je n'aime pas cette solution.

Comment peut-on passer une variable à un UserForm au
moment de l'évenement Show ?
Comment le UserForm peut-il renvoyer la variable qu'il a
modifié lors de l'événement Close ou Hide ?

Merci d'avance

Much
Avatar
MUCH
Merci Papou pour avoir répondu si vite.

En fait ce n'ai pas tout à fait cela.

J'ai déclaré une structure qui regroupe une 15ème de
variables.
Dans ma fonction principale, j'ouvre un UserForm pour que
l'utilisateur modifie les valeurs par défaut. Lors qu'il
clique sur le btn OK, le UserForm se ferme et la fonction
principale récupére la structure modifiée afin de
l'exploiter pour les calculs (résultats affichés dans une
feuille Excel).

Je cherche juste à faire un code propre et à utiliser les
mêmes mécanismes de passage de variables/paramètres que
lors de l'appel à une sous-fonction.

On s'apperçoit qu'il y a des possibilités en regardant la
syntaxe de la méthode Show.

Malheuresement je n'arrive à rien par ce biais.

Cordialement


-----Message d'origine-----
Bonjour
Tu peux déclarer ta variable au niveau de l'évènement
Initialize de ton

Userform
Ta variable aura la durée de vie de ton userform, c'est à
dire qu'avec un

..Hide, la variable est toujours exploitable mais plus
avec un Unload.

Si j'ai bien compris la question ;-)

Cordialement
Pascal

"MUCH" a écrit dans
le message de

news:098701c4a150$abc02b10$
Bonjour,

Après une recherche sur le news group et n'ayant pas
trouver ma question et sa réponse, je vous pose le
problème suivant :

J'ai créé un UserForm pour facilité la saisie de paramètre
pour un calcul (fonction VBA).
Pour le moment j'utilise une variable globale au projet,
mais je n'aime pas cette solution.

Comment peut-on passer une variable à un UserForm au
moment de l'évenement Show ?
Comment le UserForm peut-il renvoyer la variable qu'il a
modifié lors de l'événement Close ou Hide ?

Merci d'avance

Much


.



Avatar
papou
Re
Ben les options après show c'est
soit
vbModal
ou
vbModeless
Mais je ne vois pas le rapport avec ce que tu veux faire.
Si j'ai compris ce dont il s'agissait, à savoir l'élaboration d'une
fonction, et que à l'intérieur d'une fonction tu autorises la modification
de paramètres, je ne pense pas que le Userform soit l'outil idéal pour les
récupérer, et en tout cas il te faudrait des variables publiques pour
récupérer les infos.

Cordialement
Pascal

"MUCH" a écrit dans le message de
news:45d501c4a153$7ad28130$
Merci Papou pour avoir répondu si vite.

En fait ce n'ai pas tout à fait cela.

J'ai déclaré une structure qui regroupe une 15ème de
variables.
Dans ma fonction principale, j'ouvre un UserForm pour que
l'utilisateur modifie les valeurs par défaut. Lors qu'il
clique sur le btn OK, le UserForm se ferme et la fonction
principale récupére la structure modifiée afin de
l'exploiter pour les calculs (résultats affichés dans une
feuille Excel).

Je cherche juste à faire un code propre et à utiliser les
mêmes mécanismes de passage de variables/paramètres que
lors de l'appel à une sous-fonction.

On s'apperçoit qu'il y a des possibilités en regardant la
syntaxe de la méthode Show.

Malheuresement je n'arrive à rien par ce biais.

Cordialement


-----Message d'origine-----
Bonjour
Tu peux déclarer ta variable au niveau de l'évènement
Initialize de ton

Userform
Ta variable aura la durée de vie de ton userform, c'est à
dire qu'avec un

..Hide, la variable est toujours exploitable mais plus
avec un Unload.

Si j'ai bien compris la question ;-)

Cordialement
Pascal

"MUCH" a écrit dans
le message de

news:098701c4a150$abc02b10$
Bonjour,

Après une recherche sur le news group et n'ayant pas
trouver ma question et sa réponse, je vous pose le
problème suivant :

J'ai créé un UserForm pour facilité la saisie de paramètre
pour un calcul (fonction VBA).
Pour le moment j'utilise une variable globale au projet,
mais je n'aime pas cette solution.

Comment peut-on passer une variable à un UserForm au
moment de l'évenement Show ?
Comment le UserForm peut-il renvoyer la variable qu'il a
modifié lors de l'événement Close ou Hide ?

Merci d'avance

Much


.