XL 2010 Formulaires interdépendants

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 !

cathodique

XLDnaute Barbatruc
Bonjour,

En cette matinée pluvieuse, je sollicite votre aide.

Je voudrais que le formulaire ne puisse pas s'ouvrir si on l'appeler directement (par exemple depuis le vbe ou via bouton sur la feuille).
Ci-dessous les objectifs:

1 - si le formulaire n'est appelé depuis un formulaire, il ne doit pas s'ouvrir. En effet, si je clique sur le bouton 'Usf_Esclave', il ne doit s'ouvrir (présentement ce n'est pas le cas).

2 - Dans mon cas je voudrais dès que le focus est dans la textbox "T2", le formulaire s'affiche.

3 - Au clic sur le bouton 'Valider' du formulaire 'Usf_Esclave', je voudrais que les valeurs des textboxs soient transmises aux mêmes textboxs du formulaire appelant.

Avec mes remerciement anticipés
 

Pièces jointes

Solution
bonjour,
juste pour le fun!

esclave
VB:
Option Explicit
Public Enfant As Boolean, Valider As Boolean
Private Sub BtQuitter_Click()
 Me.Hide
End Sub

Private Sub BtValider_Click()
Valider = True
Me.Hide
End Sub

Private Sub UserForm_Activate()
If Not Enfant Then Unload Me
End Su
Maitres( 1-2)
Code:
Option Explicit

Private Sub BtQuitter_Click()
Unload Me
End Sub

Private Sub T2_Enter()
Dim esclave As New Usf_Esclave
esclave.Enfant = True
esclave.Show vbModal
If esclave.Valider Then
Me.T1 = esclave.T1
Me.T2 = esclave.T2
End If

Unload esclave
End Sub
Bonjour @dysorthographie 😉,

Mes excuses, j'étais tellement fatigué hier que j'ai zappé ton message.

Ton code est aussi simple et efficace que celui de...
Bonjour @cathodique pas de soucis je t'explique
une fonction tu le sais c'est comme une macro sauf que elle est sensé renvoyer une reponse
et bien dans le userform en publique elle est acdcessible comme toute autre fonction

maintenant pourquoi le hide et pas unload
ET C EST L0 TOUTE L ASTUCE

le hide masque le userform mais ne le unload pas
quand dans la fonction getvaleur je fait un "Show" il est modal donc tout ce qui suit est en attente puisque le modal bloque tout
maintenant la fonction a besoin de renvoyer a l'appelant les valeur si je fait un unload les valeurs instruites dans le userform sont détruites
par contre si je fait un hide la partie du code de la fonction getvaleur (apres le "Show" reprend et ce n'est que là que l'on peut refaire un unload
pour fermer le dialogue tout simplement voila le hide est en quelque sorte une fermeture(visuelle) mais sans unloader le userform


maintenant revenons a la fonction getvaleur dans sa globalité
mais tu te pose la question mais comment getvaleur peut renvoyer un return quelqu'il soit en unloadant le userform

et bien en fait c'est tou simple(je l'ai deja expliqué plusieurs fois )
quand dans maitre1 ou 2 j'appelle la fonction j'appelle la fonction du MODULE USF_ESCLAVE pas le userform !!!!!
comme si la fonction était dans tout autre module
et de ce fait en appelant une fonction du module usf_esclave j'instancie une classe du même nom

autrement dit
appel fonction -->instanciation de classe usf_esclave----appel au Show dns fonction--> instanciation userform-->calculvaleur-->
hide pour débloquer-->reprise de la fonction apres le Show-->elle renvoie le résultat-->on termine tout en unloadnat textuellement comme a on termine l'instance de la classe et celle du userform
J'avoue que ne peut pas être plus explicite que cela.

Très très clair. Merci beaucoup.
 
- 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

Retour