Bonjour,
Je rencontre un petit souci sur un UserForm (qui s'appelle AjoutMoyenAcces) que je cherche à la placer au centre de la fenêtre lors de son lancement. Le code pour effectuer un tel placement est le suivant :
Le problème, c'est que ce placement fonctionne de façon un peu aléatoire surtout lors du premier lancement de mon UserForm où ce dernier s'entête à apparaître dans le coin supérieur gauche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub AjoutMoyenAcces_Initialize() ' Détermination de la largeur et de la hauteur de la fenêtre courante LargeurFenêtre = ActiveWindow.Width HauteurFenêtre = ActiveWindow.Height ' Détermination des positions gauche et droite de Excel PositionGauche = Application.Left PositionHaut = Application.Top ' Affectation de la position à l'UserForm AjoutMoyenAcces.Left = PositionGauche + LargeurFenêtre / 2 - AjoutMoyenAcces.Width / 2 AjoutMoyenAcces.Top = PositionHaut + HauteurFenêtre / 2 - AjoutMoyenAcces.Height / 2 End Sub
Par ailleurs, lorsque je redimensionne ma fenêtre Excel, la première fois que je lance l'UserForm, celui-ci se place comme s'il n'avait pas encore compris que la fenêtre était redimensionnée. Il faut attendre le second lancement pour qu'il se positionne conformément à la nouvelle fenêtre.
Un peu comme si il fallait un premier lancement pour que le Initialize ait analysé la géométrie de ma fenêtre et qu'il fonctionne correctement...
Je précise que je travaille en multi-écrans.
Merci d'avance de votre aide !
Partager