Positionner un userform sur l'écran

Bonjour

j'ai mon userform qui se positionne automatiquement au centre de l'écran, je n'arrive pas a trouver la solution

pour le positionner comme sur la photo jointe

Merci pour votre aide

capture d ecran 2025 07 20 112641

Bonjour

Un fichier est TOUJOURS le bienvenu

Propriété de l'userform

Startupposition sur manuel

Après il faut jouer sue height, left et top

A+ François

Bonjour,

Il suffit de créer un module qui vous permettra de positionner votre Userform en fonction de la taille de otr écran
Exemple :

l = Application.Width
h = Application.Height

    With UserForm2
        .Width = 3 * l / 4
        .Height = 3 * h / 4
        .Left = l / 8
        .Top = h / 8
        .Lb_titre.Left = (3 * l / 4 - 350) / 2
        .Lb_titre.Top = 75
        .Lb_liste.Left = (3 * l / 4 - 250) / 2
        .Lb_liste.Top = 150
    End With

l'userform aura une largeur et une hauteur de 3/4 de la taille de votre écran, il sera situé au 8ème en haut et à gauche de votre écran
De plus la listebox construite dans l'Userform est positionnée correctement au sein de ce dernier

Edit : une fois de plus Fanfan tu fus plus rapide que moi

Bonjour,

Essayer ce code

Private Sub UserForm_Initialize()
    Dim fenêtre_classeur As Window

    Set fenêtre_classeur = ThisWorkbook.Windows(1)
    Me.StartUpPosition = 0
    Me.Top = fenêtre_classeur.Top
    Me.Left = fenêtre_classeur.Left + fenêtre_classeur.Width / 2 - Me.Width / 2
End Sub

Bonjour à tous

Merci pour vos solutions

thev j'ai retenu ta solution en modifiant cette ligne Me.Left = fenêtre_classeur.Left + fenêtre_classeur.Width / 4 - Me.Width / 3

comme cela j'ai exactement ce dont je voulais

Bonjour FanFan,
Bonjour thev,

Vos propositions permettent de placer l'Userform en haut de l'écran et de la centrer sur la largeur, comme le demandait Joco, ce qui n'est pas le cas pour ma proposition car comme je l'ai indiqué, l'Userform sera au 8ème du haut et de la gauche de l'écran.
Mais il suffit de jouer sur les lignes

        .Width = 3 * l / 4
        .Height = 3 * h / 4
        .Left = l / 8
        .Top = h / 8

pour obtenir ce que l'on désire en fonction de la taille de l'écran, quelle qu'elle soit
Le code que j'ai fourni n'est qu'une copie intégrale d'une de mes utlisations dans un de mes fichiers

Je laisse Joco libre d'utiliser ou non cette proposition, tout en sachant que dans son cas les votres sont plus rapides et voire plus simples

Au plaisir de vous croiser de nouveau sur le forum

Rechercher des sujets similaires à "positionner userform ecran"