Si quelqu'un possède 2 moniteurs, j'aimerais qu'il prenne quelques minutes pour tester les 3 boutons de ce programme et vérifier si ça fait ce que ça dit ou si ça part en live complet !
En prenant la peine de positionner la fenêtre Excel une fois dans le Moniteur primaire et une fois dans le Moniteur secondaire.
Merci par avance.
@TooFatBoy,
Super, je crois qu'on peut dire qu'on a réussi ! Et c'est tout sauf simple !
Je dis "on" parce que sans ta config complètement bizarre et ton assiduité aux tests, rien n'aurait été possible.
Merci pour ton aide. Je reposte le fichier ici pour faire de ce post la solution.
Je rappelle la partie utile du bidule:
Dans le Module_UserFormMultipleScreens, 2 fonctions de positionnement UserForm:
- PlaceUserFormInExcelSameMonitor(Usf, Position)
- PlaceUserFormInExcelOtherMonitor(Usf, Position)
La position est une des constantes publiques déclarées dans le module en question:
VB:
Public Const PositionMiddle = "Middle"
Public Const PositionTopLeftCorner = "TopLeftCorner"
Public...
J'aurais pu faire un calcul plus savant en combinant le (.Left + .Width) / 2 pour savoir où est la plus grande partie de la fenêtre Excel mais j'ai pris l'hypothèse que l'utilisateur ne place pas les fenêtres de ses applications au milieu des 2 écrans.
Évidemment, j'ai laissé trainer des UserForm1 dans les fonctions dont le paramètre est Usf, donc le code et le fichier corrigés sont à reprendre dans le post #14.
Bonjour @TooFatBoy,
Je vais te demander un truc un peu spécial car l'utilisateur pour lequel j'ai fait cette manip a une configuration particulière qui met en défaut le positionnement du UserForm sur l'écran secondaire quand Excel est sur l'écran primaire.
Son écran secondaire a une résolution en largeur différente (le double) de la résolution de l'écran primaire.
Le UserForm du bouton #3 est décalé vers la droite comme si le positionnement ne tenait compte que de la résolution de l'écran primaire.
Bref...
Peux-tu changer la résolution en largeur de ton écran secondaire le temps d'un test en l'augmentant (voire en la doublant) et, Excel en écran primaire, déclencher le Bouton #3 et faire un screenshot de la position du UserForm dans l'écran secondaire.
Si tu ne peux pas j'essaierai de régler ça autrement, mais j'aimerais recouper les infos avec ton test.
Peux-tu changer la résolution en largeur de ton écran secondaire le temps d'un test en l'augmentant (voire en la doublant) et, Excel en écran primaire, déclencher le Bouton #3 et faire un screenshot de la position du UserForm dans l'écran secondaire.
J'ai un vieux moniteur dans mon sous-sol. Il faut que je trouve un cordon d'alim. et un cordon DVI/DVI (c'est pas gagné... et en plus pas le temps ce matin ).
Dans le cas où l'écran secondaire n'a pas la même largeur en pixels que l'écran primaire, je confirme que pour positionner le UserForm au milieu de l'écran secondaire, il faut tenir compte non pas de sa largeur à lui, mais de celle de l'écran primaire.
Tout d'abord, le matos :
Écran primaire à droite : 3840x2160 pixels
Écran secondaire à gauche : 1920x1200 pixels
1- Excel sur écran primaire
Bouton 1 :
Bouton 2 : Pas mal..
Petit bémol, mais probablement voulu : pour 4 et 5, les fenêtres ne sont pas tout à fait en bas. Il y a un petit espace entre la fenêtre et la barre des tâches.
De même, il y a un aussi petit espace, à gauche pour 4, à droite pour 5.
Bouton 3 : je ne vois la fenêtre dans aucun des 5 cas..
2- Excel sur écran secondaire :
Bouton 1 :
Bouton 2 : la fenêtre ne s'affiche pas sur le même écran qu'Excel (elle s'affiche sur le primaire).
Mêmes constats qu'avec Excel sur l'écran primaire.
Bouton 3 : je ne vois la fenêtre dans aucun des 5 cas..