Afficher un userform en plein écran et centré sur l'écran

Signaler
Messages postés
114
Date d'inscription
vendredi 9 avril 2010
Statut
Membre
Dernière intervention
16 août 2011
-
Messages postés
114
Date d'inscription
vendredi 9 avril 2010
Statut
Membre
Dernière intervention
16 août 2011
-
Bonjour
je voudrai que mon userform s'affiche en plein écran et que celui-ci soit centré
malheureusement cela ne marche pas, l'userform est plein écran mais n'est pas centré.
voici ce que j'ai fait, merci de me dire ce que vous en pensez
Private Sub UserForm_Initialize()
  'affichage plein ecran
With UserForm9
.StartUpPosition = 1
.Width = Application.Width
.Height = Application.Height
.Left = 0
.Top = 0
End With
end sub


cordialement
nanie

8 réponses

Messages postés
7365
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
6 mai 2021
122
Bonjour,
Mettre dans l'UserForm:
' déclaration
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 Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub UserForm_Initialize()
'Maximise et minimise
Dim hwnd As Long
hwnd = FindWindowA(vbNullString, Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) Or &H10000 'maximise
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) Or &H20000 'minimise
End Sub
@+
Messages postés
114
Date d'inscription
vendredi 9 avril 2010
Statut
Membre
Dernière intervention
16 août 2011

merci mais ca ne marche pas du tout, c'est un problème d'écriture de Sub end sub (première partie de ta macro)
comme je ne comprends pas du tout je ne sais pas comment écrire

nanie
Messages postés
7365
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
6 mai 2021
122
Le première partie c'est les déclarations à mettre en premier dans le code(tout en haut). Ensuite c'est la Private Sub UserForm_Initialize.
C'était bien marqué Déclaration
@+ Le Pivert
Messages postés
114
Date d'inscription
vendredi 9 avril 2010
Statut
Membre
Dernière intervention
16 août 2011

ca marche pas,
ca me met toujours en haut à gauche si je laisse ce que j'ai écris auparavant et si j'enlève ca me met mon userform centré mais mon formulaire n'est pas en plein écran.


nanie
Messages postés
7365
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
6 mai 2021
122
Le code que j'ai donné ajoute en haut à droite de l'userForm les boutons: Minimise et Maximise et cela marche, l'userForm est plein écran quand on clique sur Maximise et disparait dans la barre de tâche quand on minimise!
Mais c'est peut-être les objet contenus dans l'userForm dont tu parles?
Messages postés
114
Date d'inscription
vendredi 9 avril 2010
Statut
Membre
Dernière intervention
16 août 2011

bonjour,
en effet ca marche mais les objets de mon userform (textbox,label, boutons...) sont en haut à gauche

nanie
Messages postés
7365
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
6 mai 2021
122
Pour recentrer les contrôles cela est très compliqué. Voici un site d'où tu pourras télécharger un exemple et tu verras par toi-même le travail à effectué!!!

http://www.andypope.info/vba/Anchor.htm
@+ Le Pivert
Messages postés
114
Date d'inscription
vendredi 9 avril 2010
Statut
Membre
Dernière intervention
16 août 2011

effectivement c'est vraiment trop compliqué...
merci quand meme

nanie