positionner un userform sur cellule active

Tiobi

XLDnaute Junior
Bonjour à tous,

J'ai un problème de positionnement de userform

je voudrais centrer le userform au centre de la cellule active (en X)

et positionner le bas du userform sur le top de la cellule active


Quelqu'un a une idée ? Merci.
 

Pièces jointes

  • Classeur2.xls
    21.5 KB · Affichages: 250
  • Classeur2.xls
    21.5 KB · Affichages: 244
  • Classeur2.xls
    21.5 KB · Affichages: 255

Gael

XLDnaute Barbatruc
Re : positionner un userform sur cellule active

Bonjour Tiobi, bonjour à tous,

Après quelques essais, j'ai pu arriver à ce que tu souhaites avec les manips suivantes:

Pour le bord gauche, le mot-clé "Left" semble désigner la position du premier caractère dans le userform et non le bord, c'est pourquoi j'ai ajouté "Label1.left" dans l'instruction et le +2 pour avoir un cadrage exact:

Code:
UserForm1.Left = Centre_X_de_la_cellule - UserForm1.Width / 2 + Label1.Left + 2

Pour le Top, le problème est que si top=0, l'USF sera positionné tout en haut de la fenêtre, ce qui est logique mais si on sélectionne une cellule en ligne 1 on aura activecell.top=0 soit la position juste en dessous des en-têtes de colonnes. Il faut donc ajouter la différence entre ces 2 points c'est à dire la hauteur des barres d'outils, titres de fenêtre et en-têtes de colonne, soit chez moi 103, ce qui donne:

Code:
UserForm1.Top = ActiveCell.Top - UserForm1.Height + 103

La dernière partie de ton code me semble inutile, les labels se positionnant automatiquement sur la valeur de Left.

@+

Gael
 

Discussions similaires

Réponses
6
Affichages
382

Statistiques des forums

Discussions
312 294
Messages
2 086 934
Membres
103 404
dernier inscrit
sultan87