OVH Cloud OVH Cloud

Initialisation d'un UserForm

2 réponses
Avatar
EG
Bonjour,

Je voudrais que mon userform ...
1) s'affiche dans la totalité de l'écran à l'ouverture.
2) que les objets dans le userform (ex. :Textbox) se redimensionne en fonction
de la grandeur de l'écran vs le userform lors de la création.
3) que la croix de fermeture du userform soit désactivée.
4) que le bouton de réduction de la fenêtre soit disponible.

Comment puis-je faire tout celà en même temps ?

Merci à l'avance !

2 réponses

Avatar
anonymousA
Bonjour,

c'est tout ?

Bon plus sérieusement, tu peux trouver à peu près tout ce que tu veux en
fouinant sur Excelabo et sur le site de Frédéric Sigonneau.
Pour le redimensionnement , je ne suis pas sur que tu le trouves là.
Mais si c'est nécéssaire , tu peux revenir sur le forum.Les procédures
de redimensionnement comme d'ailleurs toutes les autres utilisent les
API et sont parfois un tout petit peu longues à poster.

A+


Bonjour,

Je voudrais que mon userform ...
1) s'affiche dans la totalité de l'écran à l'ouverture.
2) que les objets dans le userform (ex. :Textbox) se redimensionne en fonction
de la grandeur de l'écran vs le userform lors de la création.
3) que la croix de fermeture du userform soit désactivée.
4) que le bouton de réduction de la fenêtre soit disponible.

Comment puis-je faire tout celà en même temps ?

Merci à l'avance !



Avatar
Hervé
Bonsoie EG,
Regarde si cela convient. Pour juger de l'effet, crée une proc de lancement
de la form, installe un bouton sur une feuille de calcul et ferme le VBE
afin de voir le formulaire en position réduite. A mettre dans le module de
la Form :

Private Declare Function GetSystemMenu _
Lib "user32" ( _
ByVal hwnd As Long, _
ByVal bRevert As Long) As Long

Private Declare Function DeleteMenu _
Lib "user32" ( _
ByVal hMenu As Long, _
ByVal nPosition As Long, _
ByVal wFlags As Long) As Long

Private Declare Function FindWindow _
Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Private Declare Function EnableWindow _
Lib "user32" ( _
ByVal hwnd As Long, _
ByVal bEnable As Long) As Long

Private Declare Function GetWindowLong _
Lib "user32" _
Alias "GetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong _
Lib "user32" _
Alias "SetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long


Private Sub UserForm_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim hwnd As Long
Dim Menu As Long
Dim Result As Long
Dim R As Single
Dim Largeur As Single

'récupère la largeur de création
Largeur = Me.Width
Me.Caption = "Titre de la Form"

'défini la boite
hwnd = FindWindow(vbNullString, _
Me.Caption)
Menu = GetSystemMenu(hwnd, _
False)
Result = DeleteMenu(Menu, _
61536, _
0)
SetWindowLong hwnd, _
-16, _
GetWindowLong(hwnd, -16) Or 131072

'maximise la form
Me.Width = Application.Width
Me.Height = Application.Height

'défini le rapport
R = Me.Width / Largeur

'redimensionne le textbox
TextBox1.Width = TextBox1.Width * R
TextBox1.Height = TextBox1.Height * R

'hé oui, ne pas oublier
'un système de fermeture ;o)
TextBox1.Text = "Cliquer sur la Form pour fermer !"

End Sub

Hervé.

"EG" a écrit dans le message de news:

Bonjour,

Je voudrais que mon userform ...
1) s'affiche dans la totalité de l'écran à l'ouverture.
2) que les objets dans le userform (ex. :Textbox) se redimensionne en
fonction
de la grandeur de l'écran vs le userform lors de la création.
3) que la croix de fermeture du userform soit désactivée.
4) que le bouton de réduction de la fenêtre soit disponible.

Comment puis-je faire tout celà en même temps ?

Merci à l'avance !