Bonjour,
est-il possible de récupérer une valeur de retour avec une forms?
Genre vrai ou faux? sans passer par des variables globales.
Nath
Bonjour,
est-il possible de récupérer une valeur de retour avec une forms?
Genre vrai ou faux? sans passer par des variables globales.
Nath
Bonsoir,
Non à ma connaissance
Pourquoi la variable globale serait une mauvaise solution ?
bein je vais utiliser cela, la variable global, j'aurais trouver plus propre que la forme me renvoie une valeur, etant donnée, que cette valeur à une durée de vie très limitée....
merci pour ta réponse!
Bonjour,
alors prends une variable public...etant donnée, que cette valeur à une durée de vie très limitée....
exemple
Bonne journée
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public verif as Boolean 'en tete de module
Bonjour,
il me semble qu'en vba public ou global = même combat, global n'existant d'ailleurs pas en instruction.
Sinon, une solution possible selon le contexte serait un déclaration au niveau module, puis le passage de paramètres si appel à d'autres procédures ou fonctions ?
cordialement,
Didier
Il est aussi possible d'encapsuler le formulaire dans un autre objet avec gestion des évènements.
exemple simple :
Un formulaire UserForm1 avec un bouton et une zone de texte :
Un module de classe cls_Form
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Event Fermeture(strValeur As String) Private Sub CommandButton1_Click() Unload Me End Sub Private Sub UserForm_Terminate() RaiseEvent Fermeture(Me.TextBox1.Text) End Sub
Test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private p_Valeur As String Private WithEvents p_Form As UserForm1 Private Sub p_Form_Fermeture(strValeur As String) p_Valeur = strValeur End Sub Function Afficher() As String Set p_Form = New UserForm1 p_Form.Show 1 Afficher = p_Valeur End Function
Ici, le code du module récupère en retour de l'affichage le contenu de la zone de texte
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Sub essai() Dim oF As New Cls_form MsgBox oF.Afficher() End Sub
merci pour vos réponses, j'ai utilisé l'idée de la variable globale, bverif....tout simple ce qui me fallait, en plus cette meme variable peut etre utilisée pour toutes mes form....
.../...sans passer par des variables globales.
merci pour vos réponses, j'ai utilisé l'idée de la variable globale
Didier
oui mais dans ce cas là cela me convient car j'en cree qu'une de variable globale et que je peux réutiliser pour toutes mes form...
Je ne voulais pas avoir plein de variables globales qui me servent que dans un cas...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager