Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

RESOLU par ROLAND UserForm affichage selon taille écran (pas plein écran)

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Me revoilà ayant besoin de vos lumières.

J'ai encore un souci. Cette fois-ci, c'est un problème d'affichage UserForm selon la taille de l'écran sur lequel s'ouvre le classeur.

Malgré mes recherches, je n'ai pas trouvé de solution.

Voici mon petit exposé de la chose :

je travaille "en ligne" avec des commerciaux qui utilisent chacun un classeur excel.
Ce fichier qui leur est attribué, est le même pour tous (j'ai copié en plusieurs exemplaires mon classeur "matrice").

Dans ce classeur, j'ai une cinquantaine d'UserForm qui doivent s'afficher à un endroit précis de l'écran pour être optimums en lecture, par rapport à d'autres informations contenues dans l'onglet.

Sur mon écran ordinateur de bureau qui plus est un grand écran, voici comment ça s'affiche :


c'est le bon affichage et au bon endroit.

Sur un ordi portable par exemple (autre taille d'écran) voici comment ça s'affiche :



Quelle que soit la taille d'écran d'affichage, j'ai besoin, comme le fait windows pour l'affichage en général, que mes UserForm soient réduits de la même manière afin qu'il soient positionnés au même endroit que sur mon écran ordi de bureau.

Dans les propriétés UserForm, j'ai pas trouvé et je n'ai pas trouvé en recherchant sur le net.

Si vous pouviez m'aider, peut-être ai-je mal vu dans les propriétés UserForm .... ou peut-être par macro ?

Vous remerciant déjà de m'avoir lu en espérant avoir été "un peu" clair.

Je vous souhaite à toutes et à tous, une très bonne journée,
Amicalement,
Lionel,
 

Pièces jointes

  • UF Ecran ordi de bureau.jpg
    25.7 KB · Affichages: 188
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : UserForm affichage selon taille écran (pas plein écran)

Merci Roland, tu es super vraiment.

Voici la position :

qui correspond à cet affichage :


C'est pareil pour les 50 UserForm ... Heureusement LOl

Amicalement,
Lionel,
 

Pièces jointes

  • UF Ecran ordi de bureau.jpg
    25.7 KB · Affichages: 99

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : UserForm affichage selon taille écran (pas plein écran)

Re Roland,

suite à ton post 15.

J'ai tenté.

J'ai mis ton code :
- dans le ThisWorkbook mais ça n'a rien changé à l'affichage,
- dans le code de l'une des feuilles concernées et ça n'a rien changé à l'affichage,

Je vais tenter de modifier les paramètres.

Merci Roland,
 

Roland_M

XLDnaute Barbatruc
Re : UserForm affichage selon taille écran (pas plein écran)

re

mais bon sang !
ce n'est pas là qu'il faut le mettre mais dans le code des userform !

Private Sub UserForm_Initialize()
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : UserForm affichage selon taille écran (pas plein écran)

re

vois le code de cet exemple et tapes F5 dedans et tu verras !
 

Pièces jointes

  • Classeur1.xlsm
    13.9 KB · Affichages: 47
  • Classeur1.xlsm
    13.9 KB · Affichages: 52

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : UserForm affichage selon taille écran (pas plein écran)

Re
dans ton classeur, ça marche.

J'ai donc la position de UserForm sur mon ordi portable,
Je vais vérifier ce soir comment ça s'affiche sur mon ordi de bureau (écran plus grand)

D'un autre côté, j'ai copié le code de ton classeur dans le code UF de mon classeur et il me sort une erreur :


Lionel,
 

Pièces jointes

  • erreur de compilation.jpg
    71.9 KB · Affichages: 136

Roland_M

XLDnaute Barbatruc
Re : UserForm affichage selon taille écran (pas plein écran)

re

c'est parce que tu as mis l'option explicit
alors il faut déclarer les vars !
reprend le code ci-dessous

Code:
'position en bas à droite
Private Sub UserForm_Initialize()
Dim LargUser@, HautUser@, LargScr%, HautScr%, PosTop%, PosLeft%
LargUser = Me.Width: HautUser = Me.Height
'avec Win7 Excel2007 voir réglage !? il y a les API très précis mais j'évite pour la compatibilité
LargScr = Application.Width - 14: HautScr = Application.Height - 14
Me.StartUpPosition = 0 'pour placer manuellement
PosTop = HautScr - HautUser: If PosTop < 0 Then PosTop = 0
PosLeft = LargScr - LargUser: If PosLeft < 0 Then PosLeft = 0
Me.Top = PosTop: Me.Left = PosLeft
End Sub
 

Modeste geedee

XLDnaute Barbatruc
Re : UserForm affichage selon taille écran (pas plein écran)

Bonsour®

pour chaque userform voir le paramètre Zoom
il suffira de mémoriser la valeur de ce paramètre lors d'une première utilisation et ensuite l'affecter successivement à chaque userform suivant


exemple d'utilisation en pièce jointe
 

Pièces jointes

  • Capture.jpg
    73 KB · Affichages: 65
  • USFZoom.xlsm
    80.7 KB · Affichages: 42
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : UserForm affichage selon taille écran (pas plein écran)

Bonsoir,

Salut Modeste ! bien entendu, le zoom, mais ...
ici notre ami veut simplement positionner ses userf selon les tailles écrans !

j'ai bien des modèles très complets pour redimensionner et/ou zoomer selon n'importe quelles résolutions et tailles d'écrans
que je pourrais lui refiler mais il ne saura jamais adapter, il le dit lui même, alors il nous faut donc rester simple !
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…