Leonard se demande si, lors de l’affichage d’une boîte de message dans une macro, il existe un moyen de forcer la boîte à apparaître à un emplacement spécifique de l’écran.

Il n’existe aucun moyen de le faire, car la fonction MsgBox n’inclut aucun moyen de spécifier un emplacement. Au lieu de cela, Excel affiche la boîte de message centrée sur l’écran. Si vous avez besoin de la capacité de positionner la boîte, la solution la plus simple est de vous fier à la fonction InputBox:

sName = InputBox(Prompt:="Enter your name", XPos:=2880, YPos:=1440)

Notez que vous pouvez spécifier à la fois une position X et une position Y pour le coin supérieur gauche de la boîte. Les valeurs attribuées à ces paramètres sont mesurées à partir du coin supérieur gauche de l’écran et sont spécifiées en twips. (Il y a 1440 twips par pouce.)

Une boîte de saisie attend, bien sûr, que l’utilisateur fournisse une entrée, contrairement à une boîte de message. Si vous ne voulez pas potentiellement confondre vos utilisateurs en sollicitant des entrées alors qu’aucune n’est vraiment nécessaire, vous devrez créer un UserForm pour simuler une boîte de message.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (10028) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.

Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Specifying_Location_for_a_Message_Box [Spécification de l’emplacement pour une boîte de message].