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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 !
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" <florian@toto.fr> a écrit dans le message de news:eWpolIsZEHA.2972@TK2MSFTNGP12.phx.gbl...
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" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:900101c4969e$f675a200$a601280a@phx.gbl...
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.
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.