OVH Cloud OVH Cloud

UserForm

1 réponse
Avatar
EG
Bonjour,

Est-il possible de faire appara=EEtre un USerForm =E0 un=20
endroit bien pr=E9cis dans la feuille et d'emp=EAcher=20
l'usager de changer la fen=EAtre d'endroit.

Merci !

1 réponse

Avatar
Philippe.R
Bonsoir,
Voici copie des réponses de Denis et de Michel à une question similaire :

De : Denis Michon
Groupes de discussion : microsoft.public.fr.excel
Envoyé : dimanche 11 juillet 2004 00:37
Objet : Re: Un userform qui ne bouge pas


Bonjour Florian,


à copier dans le formulaire :

'Api dans le haut du formulaire

Ce qui suit est de Laurent Longre.

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

Private Declare Function GetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
'-------------------
Private Sub UserForm_Activate()
Dim hWnd As Long, exLong As Long
hWnd = FindWindowA(vbNullString, Me.Caption)
exLong = GetWindowLongA(hWnd, -16)
If exLong And &H880000 Then
SetWindowLongA hWnd, -16, exLong And &HFF77FFFF
Me.Hide: Me.Show
End If
End Sub
'-------------------


Et il y a ceci de Michel Perron,


Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal _
lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, _
ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu&, ByVal _
nPosition&, ByVal wFlags&) As Long

Private Sub UserForm_Initialize()
Const MF_BYCOMMAND As Long = &H0&
Const SC_MOVE As Long = &HF010&
Dim hwnd As Long, hSysMenu As Long

hwnd = FindWindow(vbNullString, Me.Caption)
hSysMenu = GetSystemMenu(hwnd, False)
DeleteMenu hSysMenu, SC_MOVE, MF_BYCOMMAND
End Sub

'MP (Michel Perron)

Salutations!

"Florian" a écrit dans le message de news:
Bonsoir
Je suis allé voir sur Excelabo.net; mais sans succès
Je souhaite lancer mon userform au milieu de l'écran et que celui-ci ne
bouge pas.
Merci
Flo riant

--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"EG" a écrit dans le message de
news:900101c4969e$f675a200$
Bonjour,

Est-il possible de faire apparaître un USerForm à un
endroit bien précis dans la feuille et d'empêcher
l'usager de changer la fenêtre d'endroit.

Merci !