Calcul de la distance entre le haut de la fenêtre et la ligne 1 (Microsoft Excel)
Lorsqu’il crée un UserForm, Louis définit la propriété Top de l’UserForm sur 222, qu’il a déterminé par essais et erreurs est la distance en pixels entre la bordure supérieure de la fenêtre active et le haut de la première ligne de données dans la feuille de calcul. Il se demande s’il existe un moyen de calculer cette distance par programme, étant donné que la distance peut varier en fonction de la quantité de ruban affichée et de la hauteur de la barre de formule.
Si vous avez besoin d’obtenir la hauteur de la zone du ruban, vous pouvez examiner la propriété Height de l’objet CommandBars (« Ribbon »), de cette manière:
iHt = CommandBars("Ribbon").Height
Cela, bien sûr, ne vous donnera qu’une partie des informations dont vous avez finalement besoin. Les informations de positionnement pour un UserForm sont basées sur le coin supérieur gauche de la fenêtre du programme. Ainsi, vous devez prendre en compte l’épaisseur de la bordure de la fenêtre (s’il y a une bordure), la hauteur du ruban (mentionnée ci-dessus, mais uniquement si s’exécutant sur une version d’Excel utilisant le ruban), la hauteur de la barre de formule , tout espace autorisé pour la règle, et ainsi de suite.
La plupart de ces éléments n’ont pas de propriétés de hauteur que vous pouvez vérifier, le positionnement d’un UserForm peut donc être un processus d’essais et d’erreurs dans l’ordre.
Une fois que vous avez correctement positionné l’UserForm sur votre système, il n’y a aucune garantie qu’il sera correctement positionné s’il est affiché sur le système de quelqu’un d’autre.
La meilleure solution que nous avons trouvée est de (dans ce cas) ne pas réinventer la roue. Chip Pearson, sur son site Web, a créé ce qu’il appelle un « positionneur de formulaire » qui élimine les conjectures de positionnement d’un UserForm. Vous pouvez trouver des informations à ce sujet ici:
http://www.cpearson.com/Excel/FormPosition.htm
Il n’y a aucun frais; ce est gratuit. Il vous permet de positionner un UserForm par rapport à n’importe quelle cellule de l’écran. Si vous développez des macros qui reposent sur UserForms, vous voudrez vérifier ce que Chip a à offrir.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (2309) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.