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
Cordialement,
Dom
_____________________________________________
Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
pensez à cliquer sur :resolu: si votre problème l'est
Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)
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
Partager