Transmition de valeur d'un USF form à un autre

  • Initiateur de la discussion Initiateur de la discussion St@tman
  • Date de début Date de début

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 !

S

St@tman

Guest
Bonjour le forum

Voilà, je cherche à récupérer la valeur d'un textbox dans un autre textbox sur une autre USF
Je m'explique:
Dans un USF A, j'ai un bouton qui sert à ouvrir un autre USF B. Dans celui-ci,
j'ai une combobox dans laquel on choisit une donnée puis elle s'inscrit dans une textbox.
Comment faire pour lorsquel'on valide l'USF B, la valeur de la textbox vienne alimenter une autre textbox situé dans l'USF A

Merci de votre aide
@+
 
Salut St@Tman, le Forum

Selon ton projet...... Deux solution...

Soluce 1
Soit tu ne décharges pas le UserForm "UsfB" qui contient donc une donnée dans une TextBox "TxbB" .... qui doit donc être transmise dans une TextBox "TxbA" du premier Userform "UsfA"....

Et par conséquent tu appelles ton Userform "UsfA" par un bouton sur le "UsfB" qui fera ceci (entre autre)

Private Sub CommandButtonSortie_Click () 'Du UsfB
'blah, blah, blah
Me.Hide '<<<<<(Le Userform reste en mémoire ainsi que les valeurs contenues dans ses controls)
with UsfA
.Show
.TxbA = UsfB.TxbB
End With
End Sub



Soluce 2
Tu utilises une Variable Public... Pour faire une variable Public dont la portée sera sur tout le Projet :
Dans un Module Standard (pas un Private Module de UserForm ou de WorkSheet, ou de ThisWorkBook) tu écris ceci en Top du Module :

Public MaTextBoxTxbB as String
'si c'est une variable de type String (Chaine de Caractères), ou bien Interger (Nombre Entier), ou bien Double (Nombre avec Décimal), etc (je ne sais pas ce qui a dans ta TextBox)

Et dans ton UsfB quand tu as des Données dans ta TextBox, tu t'arranges par un évènement quelconque (Enter, Change, Exit...) d'initialiser la Variable Public comme suit :

Private Sub TextBox1_Change()
MaTextBoxTxbB = TxbB
End Sub

Et donc dans la sortie de ce UserForm UsfB

Private Sub CommandButtonSortie_Click () 'Du UsfB
'blah, blah, blah
Unload
With UsfA
.Show
.TxbA = MaTextBoxTxbB
End Sub

Je te rassure de suite c'est beaucoup plus simple à faire qu'à expliquer !!

La soluce 2 offre l'avantage de ne pas garder chargé un UserForm entier qui, surtout si il est volumineux avec beaucoup de Controls, peut monopoliser pas mal d'espace mémoire. Alors qu'une petite Variable suffit pour garder en mémoire la String ou autre chose de ta TextBox...

Voilà Mr St@tMan, bon après midi à tous et à toutes
@+Thierry
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
64
Retour