Choisir l'emplacement d'un UserForm d'après sa situation à l'écran

Michou9

XLDnaute Occasionnel
Bonjour

Il est possible de positionner un UserForm en réglant les indications Top et Left, dans ses propriétés

Mais ce n’est pas très pratique, car il faut faire des allers-retours incessants pour déterminer l’endroit que l’on souhaite avec précisions

Puisque l’on peut, une fois UserForm présent à l’écran, le déplacer à volonté où on veut.

Serait-il possible une fois l’endroit choisit, de recueillir son adresse de positionnement pour pouvoir le retranscrire ainsi dans ses propriétés.
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Choisir l'emplacement d'un UserForm d'après sa situation à l'écran

Bonsoir,
Dans le module du usf
Code:
Private Sub UserForm_Click()
MsgBox "x:" & Me.Left & vbCrLf & "y:" & Me.Top
End Sub
...puis tu l'affiches et tu click dessus
A+
kjin
 

job75

XLDnaute Barbatruc
Re : Choisir l'emplacement d'un UserForm d'après sa situation à l'écran

Bonjour Michou9, salut kjin :)

En ouvrant l'USF en non modal, on le positionne comme on veut :

Code:
Sub USF()
With UserForm1
  .Show 0 'non modal
  .Left = 20
  .Top = 20
End With
End Sub
A+
 

Michou9

XLDnaute Occasionnel
Re : Choisir l'emplacement d'un UserForm d'après sa situation à l'écran

Bonjour

Super, je vais pouvoir me simplifier la vie !


Je règle ses réglages directement dans les propriétés,
Je sais que l’on peut le faire en ligne de commande

J’ai essayé avec « UserForm.Top = 150 »

Et avec un tas d’autres commandes
Mais je n’ai jamais trouvé la bonne, car cela n’a aucun effet.

Connaîtrais-tu également la bonne formule ?

En attendant je remercie déjà pour cette 1ère réponse.
 

kjin

XLDnaute Barbatruc
Re : Choisir l'emplacement d'un UserForm d'après sa situation à l'écran

Re,
Code:
UserForm.Top = 150
...ne fonctionnera que si ton usf se nomme effectivement "userform",...ce dont je doute
Il est préférable d'utiliser
Code:
Private Sub UserForm_Activate()
Me.Top = 150
Me.Left = 50
End Sub
A+
kjin
 

klin89

XLDnaute Accro
Re : Choisir l'emplacement d'un UserForm d'après sa situation à l'écran

Bonsoir à tous,

Pas vraiment saisi :confused:
En fait, tu fixes au départ la position de ton formulaire dans ses propriétés, tu le déplaces comme tu veux dans ta feuille de calcul et ensuite tu veux retrouver sa position initiale en cliquant dessus :p

Code:
Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
 With UserForm1
   .Left = 150
   .Top = 150
 End With
 End Sub

Klin89
 

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 016
dernier inscrit
Mokson