Procédure avec un UserForm en argument

Salut,

Tout est dans le titre : comment lancer une procédure ou une fonction avec un UserForm en argument ?

Dans mes UserForm je dois lancer une procédure publique située dans un Module. J'ai essayé

call Procédure(me) / call Procédure(me.name) / Procédure me / Procédure me.name
dans le UserForm et
Public Procédure (Fenêtre as UserForm) / Public Procédure (Fenêtre as Object) / Public Procédure (Fenêtre as String)

Application.WindowState = xlMaximized

ZoomX = (ActiveWindow.Width - 10) / Me.Width
Fenêtre.Width = Me.Width * ZoomX (ou CallByName Fenêtre.Width...)
ZoomY = (ActiveWindow.Height - 10) / Me.Height
Usf.Height = Me.Height * ZoomY

For Each Ctrl In Fenêtre.Controls
    Ctrl.Width = Ctrl.Width * ZoomX
    Ctrl.Height = Ctrl.Height * ZoomY
    Ctrl.Left = Ctrl.Left * ZoomX
    Ctrl.Top = Ctrl.Top * ZoomY
'Next

End Sub

dans le Module mais forcément ça fonctionne pas.

Je suis preneur de la solution.

Merci d'avance.

Manu

Bonjour

Call Procedure dans l'userform

Puis dans le module --> Sub procedure et metre le nom de l'userform devant les instructions au lieu de ME ou autre

Cordialement

Le nom du UserForm est variable. Mon projet contient plusieurs dizaines de UserForm et toutes appellent cette procédure à leur ouverture.

D'où la nécessité d'identifier le UserForm par une variable. C'est pour éviter de recopier cette procédure dans chacun des UserForm.

Manu

Re

Dans le code de votre userform, avant l'appel de votre procédure, mettez ceci --> Set nomvariable = nomuserform
Dans un module en entête (donc avant tous les codes), mettez Public nomvariable as object
Utilisez ce nom nomvariable dans votre procédure unique commune à toutes les userform

Après utilisation du code reprenant la variable nomvariable mettez cette instruction set nomvarianle = nothing

Merci

Manu

Rechercher des sujets similaires à "procedure userform argument"