Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Passage du nom d'un sous formulaire dans une fonction

1 réponse
Avatar
Bricoleur
Bonjour

J'ai écris une fonction dans un module du style

Function Gras(Formulaire, champ)
Forms(Formulaire).Controls(champ).FontBold = True
End function

Elle est appelé depuis un formulaire de la façon suivante :

Gras me.name,"[nom du champ]"

Ca marche bien depuis un formulaire. Mais comment procéder pour que celà
marche aussi depuis un sous formulaire.

1 réponse

Avatar
J-Pierre
Bonsoir

Si je comprends bien, tu veux référencer un contrôle qui se trouve dans un sous-formulaire.

Forms!monForm!monSousForm.Form!monControl

Mais si le code se trouve dans le sous-formulaire lui-même
Me.monControl

Pour ta fonction, tu ne devrais passer que le contrôle comme paramètre:
Je ne suis pas absolument sûr que l'objet Control aie une propriété FontBold, mais tu peux mettre TextBox ou autre......
Function Gras(champ As Control)
champ.FontBold = True
End function

Et si tu dois absolument passer le formulaire, plutôt que le nom, tu fais:
Call maFonction(Forms(Me.name),.........
Et la fonction:
Public Function maFonction(FRM As Form, .............)
msgBox FRM.Name
.............

J-Pierre

"Bricoleur" a écrit dans le message de news:bro4ln$hs9$
Bonjour

J'ai écris une fonction dans un module du style

Function Gras(Formulaire, champ)
Forms(Formulaire).Controls(champ).FontBold = True
End function

Elle est appelé depuis un formulaire de la façon suivante :

Gras me.name,"[nom du champ]"

Ca marche bien depuis un formulaire. Mais comment procéder pour que celà
marche aussi depuis un sous formulaire.