Définition de la taille de la fenêtre du programme dans une macro (Microsoft Excel)
Christopher a besoin, dans une macro, de définir la taille de la fenêtre du programme Excel. Il sait comment définir la taille d’une feuille de calcul dans la fenêtre du programme, mais ce n’est pas ce dont il a besoin. Il se demande comment il peut définir la taille globale de la fenêtre du programme, et s’assurer de ne pas la définir plus grande que la taille réelle de l’écran de l’utilisateur.
Cela peut être fait assez facilement si l’on sait quels objets et propriétés utiliser dans votre macro. L’objet que vous souhaitez utiliser est l’objet Application, qui fait référence à l’application Excel. Voici les propriétés pertinentes:
Haut. * Le pixel de l’écran sur lequel le bord supérieur de la fenêtre d’application doit être placé.
Gauche. * Le pixel de l’écran sur lequel le bord gauche de la fenêtre d’application doit être placé.
Largeur. * La largeur de la fenêtre de l’application, en pixels.
Hauteur. * La hauteur de la fenêtre de l’application, en pixels.
Dans cet esprit, vous pouvez définir la position et la taille de la fenêtre du programme de cette manière:
Sub SetWindowSize1() Application.WindowState = xlNormal Application.Top = 25 Application.Left = 25 Application.Width = 300 Application.Height = 200 End Sub
Cette macro spécifie que le coin supérieur gauche de la fenêtre du programme est à 25 pixels du haut de l’écran et à 25 pixels de la gauche de l’écran. Ensuite, la fenêtre du programme est définie pour avoir une largeur de 300 pixels et une hauteur de 200 pixels. Notez également le paramètre de la propriété WindowState au début de la macro. Cela définit la fenêtre dans un état « normal », c’est-à-dire une fenêtre qui peut être redimensionnée à quelque chose de plus grand que minimisé et plus petit que maximisé. (Si vous voulez que la fenêtre du programme Excel prenne tout son écran, définissez simplement la propriété WindowState sur xlMaximized et oubliez le reste des paramètres de la macro.)
Bien sûr, cette macro définit la fenêtre du programme Excel pour être plutôt petite.
Vous voudrez probablement qu’il soit plus grand, mais vous ne voulez pas qu’il soit plus grand que la taille de l’écran de l’utilisateur. Le moyen le plus simple de déterminer la taille de l’écran de l’utilisateur consiste simplement à agrandir la fenêtre de l’application Excel, puis à examiner les propriétés Largeur et Hauteur. Vous pouvez ensuite ajuster ces chiffres en fonction de l’endroit où vous voulez que le coin supérieur gauche de l’écran soit, puis ajuster en conséquence.
À titre d’exemple, disons que vous voulez que la fenêtre du programme commence à 25, 50 et que vous voulez qu’elle soit de 1 000 x 500. Vous pouvez utiliser un code similaire au suivant:
Sub SetWindowSize2() Dim iMaxWidth As Integer Dim iMaxHeight As Integer Dim iStartX As Integer Dim iStartY As Integer Dim iDesiredWidth As Integer Dim iDesiredHeight As Integer iStartX = 50 ' Distance from left iStartY = 25 ' Distance from top iDesiredWidth = 1000 iDesiredHeight = 500 With Application .WindowState = xlMaximized iMaxWidth = Application.Width iMaxHeight = Application.Height ' Adjust for starting point iMaxWidth = iMaxWidth - iStartX iMaxHeight = iMaxHeight - iStartY If iDesiredWidth > iMaxWidth Then iDesiredWidth = iMaxWidth End If If iDesiredHeight > iMaxHeight Then iDesiredHeight = iMaxHeight End If .WindowState = xlNormal .Top = iStartY .Left = iStartX .Width = iDesiredWidth .Height = iDesiredHeight End With End Sub
_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 (10938) 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-Setting_Program_Window_Size_in_a_Macro [Définition de la taille de la fenêtre du programme dans une macro]
.