Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Un userform qui ne bouge pas

6 réponses
Avatar
Florian
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

6 réponses

Avatar
docm
Bonsoir Florian.

Pour empêcher le Userform de bouger, tu peux
Supprimer la barre de titre d'un userform
Voir http://www.excelabo.net/xl/userforms.php

Pour le centrer, tu peux utiliser les commandes suivantes:
UserForm1.Left = Application.Left + (Application.Width - UserForm1.Width) /
2
UserForm1.Top = Application.Top + (Application.Height - UserForm1.Height) /
2

Sous toutes réserves cependant.
Amicalement.

"Florian" wrote in message
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




Avatar
Denis Michon
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
'-------------------


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
Avatar
Denis Michon
Bonjour Florian,

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
Avatar
Michel Pierron
Bonjour;
Pour centrer l'userform sur l'éran:
Sa propriété StartUpPosition = 2
MP

"docm" a écrit dans le message de
news:
Bonsoir Florian.

Pour empêcher le Userform de bouger, tu peux
Supprimer la barre de titre d'un userform
Voir http://www.excelabo.net/xl/userforms.php

Pour le centrer, tu peux utiliser les commandes suivantes:
UserForm1.Left = Application.Left + (Application.Width - UserForm1.Width)
/

2
UserForm1.Top = Application.Top + (Application.Height - UserForm1.Height)
/

2

Sous toutes réserves cependant.
Amicalement.

"Florian" wrote in message
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








Avatar
Florian
Ok merci beaucoup à tous
Flo riant

"Denis Michon" a écrit dans le message de
news:xe_Hc.16073$%
Bonjour Florian,

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





Avatar
docm
Bonjour Michel.
Merci de me rappeler l'existence de ces propriétés fort riches.


"Michel Pierron" wrote in message
news:
Bonjour;
Pour centrer l'userform sur l'éran:
Sa propriété StartUpPosition = 2
MP

"docm" a écrit dans le message de
news:
Bonsoir Florian.

Pour empêcher le Userform de bouger, tu peux
Supprimer la barre de titre d'un userform
Voir http://www.excelabo.net/xl/userforms.php

Pour le centrer, tu peux utiliser les commandes suivantes:
UserForm1.Left = Application.Left + (Application.Width -
UserForm1.Width)


/
2
UserForm1.Top = Application.Top + (Application.Height -
UserForm1.Height)


/
2

Sous toutes réserves cependant.
Amicalement.

"Florian" wrote in message
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