Transmettre USF en paramètre

FJPT

XLDnaute Junior
Bonjour

J'ai plusieurs USF faisant appel à un même module auquel je transmet en paramétre un numéro d'USF et un numéro de TextBox.
En retour ce module écrit dans la Textbox correspondante avec une syntaxe de ce type

if USF = x then Userformx.Controls("Textxbox" & num) = valeur.

Cela allégerait considérablement mon code si j'arrivais à transmettre directement le nom de l'USF au module ( ce que j'arrive enfin à faire avec Public xxx et transmission de Me.Name : trouvé dans le Forum) maissurtout si j'arrivais à l'intégrer dans l'ordre ci-dessus afin que le module aille écrire dans la TextBox correspondante.
Merci à tous de votre aide.
Cordialement.
JP
 

kjin

XLDnaute Barbatruc
Re : Transmettre USF en paramètre

Bonjour,
Il y a plusieurs façons, entre autre, si tu souhaites afficher le nom du userform appelant dans la textbox2 de ce userform (à associer à un bouton du userform)
Code:
Private Sub CommandButton1_Click()
AffMsg Me, 2
End Sub
et dans un module standard
Code:
Sub AffMsg(ByVal usf As Object, n%)
usf.Controls("TextBox" & n) = usf.Name
End Sub
A+
kjin
 

FJPT

XLDnaute Junior
Re : Transmettre USF en paramètre

Bonsoir kjin et merci
Je butais depuis un moment sur ce problème et je pense que c'est ma déclaration qui n'était pas bonne car je déclarais usf as UserForm et non pas as Object. Mais je ne suis pas très à l'aise dans toutes ces subtilités.
En tous cas, ça marche.
J'ai juste modifié la déclaration car je fais un détour par un deuxième userform qui appelle le module qui vient écrire dans le userform principal.
J'ai mis un Public usf as Object en tête du module et un Set usf = Me dans l'initialize du userform appelant.
Cela me permet de réduire considérablement mon code.
Encore merci pour ton aide.
Bon week end.
Cordialement.
JP
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 779
Messages
2 092 046
Membres
105 168
dernier inscrit
makari69