Position de Userform à l'affichage selon la taille de l'écran

  • Initiateur de la discussion Initiateur de la discussion scoobytor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

scoobytor

XLDnaute Nouveau
Bonjour à tous,

Dans mon fichier, j'utilise une Userform que je veux faire apparaître à droite de l'écran (et reste à l'écran) quelque soit la taille de l'écran de l'utilisateur (certains ont des ordis fixes avec écran large de 30 cm et d'autres ordis portables en 16/9 large de 23 cm) juste à côté des barres de défilement verticale (cf photos).

Comment faire ?

J'ai déjà essayé par l'option " StartUpPosition " de la Userform, mais le 3 - Windows Default me la met en haut à gauche et le 0- Manual me la place en fonction des valeurs saisies dans "Left" et "Top" (donc pas au bon endroit en fonction de la largeur de l'écran).

Peut-être une solution détournée en intégrant un menu personnaliser dans la barre des menus, mais là je ne sais pas comment faire.

Merci d'avance pour vos solutions.
 

Pièces jointes

  • Posistion Userform.jpg
    Posistion Userform.jpg
    133.1 KB · Affichages: 359
Dernière édition:
Re : Position de Userform à l'affichage selon la taille de l'écran

Bonjour scoobytor,

Avec Left et Top, en fonction de la résolution d'écran et d'un calcul savant, ça devrait être possible, non ?

Dans un module

[FONT=Times New Roman, Times, serif][FONT=Courier New, Courier, mono]Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Sub AfficherResolution()
Largeur = GetSystemMetrics(0)
Hauteur = GetSystemMetrics(1)
MsgBox "La résolution de votre écran est de " & Largeur & " par " & Hauteur
End Sub
[/FONT][/FONT]

source : VBA
 
Re : Position de Userform à l'affichage selon la taille de l'écran

Bonjour le fil 🙂,
Le plus économique pour permettre aux gens d'avoir une bonne visibilté serait de programmer le ruban 2007 🙄...
Si tu fais une recherche sur le forum, il y a pas mal de conseil et de liens vers des tutos 😛 !
Bon courage 😎
 
Re : Position de Userform à l'affichage selon la taille de l'écran

Bonjour Tototiti, JNP et Yann - 56,

Je vais utiliser la solution de Yann-56 qui correspond à 100% à mon attente , solution qui peut d'ailleurs être adaptée pour un positionnement par rapport au bas de l'écran. Dans mon cas je l'ai associé à l'ouverture de l'onglet :

pour positionner par rapport à la droite : il suffit de fixer une fois pour toute les valeurs (39 et 32 ici pour moi)

Private Sub Worksheet_Activate()
With U2 'Name de la Userform
.Top = 39
.Left = Application.Width - (.Width + 32)
.Show False
End With
End Sub

pour positionner par rapport au bas : il suffit de fixer une fois pour toute les valeurs (50 et 0 ici pour moi)

Private Sub Worksheet_Activate()
With U1 'Name de la Userform
.Top = Application.Height - (.Height + 50)
.Left = 0
.Show False
End With
End Sub

Test effectué sur 3 écrans de taille diférentes : 100% à la place voulue.

Encore un grand merci à vous et j'irai quand même voir du côté du ruban 2007, deux solutions valent mieux qu'une.
 

Pièces jointes

  • Position userform à partir du bas.jpg
    Position userform à partir du bas.jpg
    131.4 KB · Affichages: 374
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
661
Réponses
3
Affichages
240
Retour