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

Usine à gaz

XLDnaute Barbatruc
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 :

UF Ecran ordi de bureau.jpg
c'est le bon affichage et au bon endroit.

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

UF portable.jpg

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
    UF Ecran ordi de bureau.jpg
    25.7 KB · Affichages: 188
Dernière édition:

Usine à gaz

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

Bonjour néné,

Merci d'avoir répondu.

Je ne me suis jamais servi d'un module de classe et je ne sais pas comment ça marche.
je vais faire des recherches de ce côté-là aussi.

Amicalement,
Lionel,
 

Usine à gaz

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

Merci Roland, tu es super vraiment.

Voici la position :
Position UserForm Lionel.jpg
qui correspond à cet affichage :
UF Ecran ordi de bureau.jpg

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

Amicalement,
Lionel,
 

Pièces jointes

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

Usine à gaz

XLDnaute Barbatruc
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,
 

Usine à gaz

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

Merci Roland,

Puisque j'ai un ordi portable et un ordi de bureau, je vais voir ce soir après mon boulot ce que ça donne et je te dis.
Je ne sais quoi dire devant tant de gentillesse.

Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
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 :
erreur de compilation.jpg

Lionel,
 

Pièces jointes

  • erreur de compilation.jpg
    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
Capture.jpg

exemple d'utilisation en pièce jointe
 

Pièces jointes

  • Capture.jpg
    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

Statistiques des forums

Discussions
314 719
Messages
2 112 181
Membres
111 452
dernier inscrit
christine64