Si Steven a un classeur ouvert et agrandi, puis qu’il ouvre un ou plusieurs classeurs supplémentaires, les classeurs supplémentaires semblent agrandis mais ne le sont pas vraiment. Les côtés gauche, inférieur et droit de ces classeurs supplémentaires se trouvent sur les bords de l’écran, mais les sommets en cascade vers le bas, comme des fiches décalées les unes des autres. Pour Steve, ce serait bien mieux si les classeurs supplémentaires s’ouvraient soit comme une partie plus petite de la fenêtre, soit aussi complètement maximisés afin qu’il puisse ensuite « restaurer » les fenêtres à une taille plus petite. Il se demande s’il existe un paramètre qui contrôle la taille de la fenêtre de ces classeurs supplémentaires lorsqu’ils sont ouverts.

Vous pouvez facilement affecter ce qui se passe avec une fenêtre de classeur grâce à l’utilisation de macros. L’endroit normal pour ce faire serait dans la macro Workbook_Open, qui est un gestionnaire d’événements dans l’objet ThisWorkbook. Voici une version très simple qui garantirait simplement que la fenêtre est maximisée:

Public Sub WorkBook_Open()

Application.WindowState = xlMaximized End Sub

Vous pouvez ensuite, si vous le souhaitez, ajuster manuellement la taille de la fenêtre agrandie.

Bien sûr, vous pouvez également « construire » la macro pour qu’elle manipule la fenêtre d’autres manières. Par exemple, voici une macro qui déterminera la taille d’écran maximale du moniteur sur lequel le classeur s’ouvre, puis ajuste la taille de la fenêtre pour occuper 72% de la largeur de l’écran et 96% de la hauteur de l’écran.

Public Sub WorkBook_Open()

Dim iMaxWidth As Integer    'Screen width (pixels)

Dim iMaxHeight As Integer   'Screen height (pixels)

Dim sngStartX As Single     'Upper-left corner of desired window     Dim sngStartY As Single     'Upper-left corner of desired window     Dim sngWidth As Single      'Width of desired window     Dim sngHeight As Single     'Height of desired window

'Specifications for final window size     sngStartX = 0.14   'Fraction of screen width from left edge     sngStartY = 0.02   'Fraction of screen height from top     sngWidth = 0.72    'Fraction of screen width desired     sngHeight = 0.96   'Fraction of screen height desired

With Application         'Maximize screen in order to grab maximum width and height         .WindowState = xlMaximized         iMaxWidth = .Width         iMaxHeight = .Height         .WindowState = xlNormal

'Set final window position and size         .Top = iMaxHeight  sngStartY         .Left = iMaxWidth  sngStartX         .Width = sngWidth  iMaxWidth         .Height = sngHeight  iMaxHeight     End With End Sub

Vous pouvez bien sûr ajuster les paramètres des deux variables (sngWidth et sngHeight) pour choisir une taille d’écran finale différente. Vous pouvez également ajuster les paramètres dans les variables sngStartX et sngStartY pour spécifier la position du coin supérieur gauche de la fenêtre finale.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (4975) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.