passer un userform en variable - VB/VBA/VBS - Programmation
Marsh Posté le 07-01-2011 à 16:48:19
aidevba a écrit : Bonjour le forum, |
Un userform c'est un objet... normalement fonctionner avec "byval" me parait tordu...
Sub taille_USF(ByRef oUF As UserForm)
a première vue la procédure a l'air correcte...
sauf que le type d'objet UserForm n'as pas l'air de gérer "Left"; "Top", etc...
et je ne sais pas pas ou tu travaille (Excel ? Access ? etc) ...
Marsh Posté le 07-01-2011 à 19:14:58
Salut, voir peut-être http://support.microsoft.com/kb/157609/en-us et http://silkyroad.developpez.com/VBA/UserForm/
Marsh Posté le 07-01-2011 à 13:51:49
Bonjour le forum,
J'ai posté un message ce matin à propos des userforms, si quelqu'un en a besoin...
J'ai une nouvelle question, comment fait on pour passer un userform en tant que variable à une procédure?
Voilà mon code:
Voici ma procédure qui met les userform en plein écran et qui ajuste les controls du userform
Sub taille_USF(ByVal oUF As UserForm)
Dim ctl As Control
Dim ratow As String
Dim ratioh As String
ratiow = Application.Width / oUF.Width
ratioh = Application.Height / oUF.Height
oUF.Left = 0
oUF.Top = 0
oUF.Width = Application.Width
oUF.Height = Application.Height
For Each ctl In oUF.Controls
ctl.Left = ctl.Left * ratiow
ctl.Top = ctl.Top * ratioh
ctl.Width = ctl.Width * ratiow
ctl.Height = ctl.Height * ratioh
ctl.FontSize = ctl.FontSize * ratioh
Next
End Sub
Voici mon appel de ma procédure mais j'ai une erreur de type "438" Propriété ou methode non géré par l'objet
call taille_USF (Userform1)
Quelqu'un à une idée SVP?