OVH Cloud OVH Cloud

UserForm paramétré dans une procédure

3 réponses
Avatar
Emmanuel
Bonjour,

Comment faire pour qu'une procédure affiche fenêtre transmise en paramètre.
J'ai essayé par :

Sub MaProc (MaFenetre as UserFrom)
<code de début de procédure>
MaFenetre.Show
<code de fin de procédure>
End Sub

procédure appelée par "MaProc FenetreX" (où FenetreX est un userform de mon
projet VBA), mais ça ne fonctionne pas parce que la méthode .show n'est pas
supportée par l'objet UserForm.

Je travaille avec Office 2003 sous XP/SP2.

Merci d'avance

3 réponses

Avatar
anonymousA
Bonjour,

p.e si ton Userform s'appelle "toto"

Sub Procappelante()

Set Obj = toto
Affiche_UF Obj

End Sub

Sub Affiche_UF(ObjUF)

ObjUF.Show

End Sub
A+


Bonjour,

Comment faire pour qu'une procédure affiche fenêtre transmise en paramètre.
J'ai essayé par :

Sub MaProc (MaFenetre as UserFrom)
<code de début de procédure>
MaFenetre.Show
<code de fin de procédure>
End Sub

procédure appelée par "MaProc FenetreX" (où FenetreX est un userform de mon
projet VBA), mais ça ne fonctionne pas parce que la méthode .show n'est pas
supportée par l'objet UserForm.

Je travaille avec Office 2003 sous XP/SP2.

Merci d'avance



Avatar
Emmanuel
Bonjour,

Il faut déclarer la variable Obj/ObjUF de quel type ? Parce que si je
choisis "Object" ou "Variant" j'ai une erreur 13 (Type incompatible) juste
après l'appel de la procédure Affiche_UF.





Bonjour,

p.e si ton Userform s'appelle "toto"

Sub Procappelante()

Set Obj = toto
Affiche_UF Obj

End Sub

Sub Affiche_UF(ObjUF)

ObjUF.Show

End Sub
A+


Bonjour,

Comment faire pour qu'une procédure affiche fenêtre transmise en paramètre.
J'ai essayé par :

Sub MaProc (MaFenetre as UserFrom)
<code de début de procédure>
MaFenetre.Show
<code de fin de procédure>
End Sub

procédure appelée par "MaProc FenetreX" (où FenetreX est un userform de mon
projet VBA), mais ça ne fonctionne pas parce que la méthode .show n'est pas
supportée par l'objet UserForm.

Je travaille avec Office 2003 sous XP/SP2.

Merci d'avance






Avatar
Jacques93
Bonjour Emmanuel,

Tu peux essayer ceci :

Sub ProcAppel ()
MaProc UserForm1
Unload UserForm1
End Sub

Sub MaProc(MaFenetre As Object)
' <code de début de procédure>
MaFenetre.Show
' <code de fin de procédure>
End Sub

et dans le code du UserForm :

Private Sub UserForm_QueryClose(Cancel As Integer, _
CloseMode As Integer)
If CloseMode <> vbFormCode Then
Me.Hide
Cancel = True
End If
End Sub


L'erreur 13 est due au fait que que la référence au UserForm n'existe plus.

Bonjour,

Il faut déclarer la variable Obj/ObjUF de quel type ? Parce que si je
choisis "Object" ou "Variant" j'ai une erreur 13 (Type incompatible) juste
après l'appel de la procédure Affiche_UF.




--
Cordialement,

Jacques.