Userform qui se charge sur le second écran

Salut tout le monde.

J'ai une fichier avec des userform (jamais testé si le problème se lie de manière générale à excel ou windows).

Lorsque je met excel sur le second écran raccordé par le port HDMI de mon PC portable, l'userforme se charge sur l'écran principale du portable collé en haut au centre, au lieu de s'afficher au centre du second écran ou excel est ouvert !

Savez vous s'il faut inscrire un code supplémentaire pour qu'il se charge dans l'écran ou est ouvert excel ? (lorsque je ne raccorde pas d'écran secondaire, pas de problème, l'userfrom se charge correctement au centre de l'écran).

Le problème n'est pas très grave mais lorsque je lance ma macro et que ma barre de progression s'affiche, elle se retrouve sur un autre écran sur une fenêtre qui n'appartient même pas à excel. C'est pas très beau.

L'un des Userform (une toolbox pour travailler un grand livre comptable) est en non modal ; l'autre en modal (la barre de progression de l'exécution d'une macro); et sur les deux cela me fait la même chose.

Merci d'avance à ceux qui aurons une réponse à mon dilemme.

Bonjour,

Tu as tes deux écrans en extension... Regarde quel paramétrage de positionnement est fait pour le Userform, et tu essaies les autres...

Un Userform n'est pas dans Excel, et il ne se positionne pas par rapport à Excel mais sur l'écran...

Mais avec 2 écrans, je ne sais fichtre pas comment on peut régler...

Salut MFerrand, comment puis-je faire pour regarder le positionnement de l'userform ?

Dans la fenêtre de propriétés.

En affichant les propriétés par catégories, tu as une catégorie Position, où elles se regroupent. Si tu mets StartUpPosition sur Manual, tu règles manuellement les propriétés Left et Top.

Je suppose que tu affiches en Non modal à l'ouverture, alors que tu as aussi la propriété ShowModal que tu peux régler par défaut dans la fenêtre...

Alors ce matin avant de partir au boulot j'ai testé un code différent pour le startup position. C'etait sur Center Owner, j'ai mis center screen a la place, et je viens de tester au bureau avec mon second écran, ca fonctionne

Bonne information ! On essaiera de retenir si on travaille sur deux écrans.

Bonjour,

C'est peut-être un vieux sujet, mais ayant testé diverses solutions, je crois avoir un bon résultat. Pour que le Userform s'affiche toujours au centre de l'application Excel, on se sert de la position de l'application et du Userform (.top et .left) et également de sa largeur et sa hauteur (.width et .height).

La propriété StartUpPosition du Userform doit être sur

0 - Manual

Ensuite, dans le code du Userform :

Private Sub UserForm_initialize()
Me.Left = Application.Left + Application.Width / 2 - Me.Width / 2
Me.Top = Application.Top + Application.Height / 2 - Me.Height / 2

Tout simplement génial.

Fonctionnant sur 3 écrans, pour un fichier de suivi budgétaire, besoin d'encoder des commentaires via formulaire, cela devenait pelant de devoir chercher après le formulaire sur les différents écrans.

Maintenant il est parfaitement centré sur la fenêtre Excel.

Merci encore Colibri76!

Bonjour tibou55,

Je suis content pour toi et que cela ait servi !

Merci bien Colibri76, ça fonctionne nickel !

Rechercher des sujets similaires à "userform qui charge second ecran"