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].