Martin a demandé s’il existe un moyen de définir des plages d’impression pour plusieurs feuilles de calcul en même temps. Il a un classeur contenant un certain nombre de feuilles de calcul structurées exactement de la même manière et il souhaite que leurs plages d’impression respectives soient exactement les mêmes.

Comme Martin l’a découvert, il n’y a aucun moyen de le faire directement dans Excel.

Lorsque vous sélectionnez plusieurs feuilles de calcul, sélectionnez la zone que vous souhaitez définir comme zone d’impression, puis essayez de définir la zone d’impression, vous découvrez rapidement que l’option permettant de définir le paramètre est grisée, vous ne pouvez donc pas sélectionner cette option.

Cependant, vous pouvez essayer plusieurs choses. La première consiste à commencer avec un nouveau classeur et à développer une feuille de calcul unique qui contient la zone d’impression comme vous le souhaitez sur toutes les feuilles de calcul. Ensuite, copiez la feuille de calcul le nombre de fois souhaité dans le classeur. Les feuilles de calcul copiées auront la zone d’impression définie comme dans la première feuille de calcul.

L’autre option consiste à créer une macro qui fera le réglage de la zone d’impression pour vous. Considérez la macro suivante, qui définira la zone d’impression de toutes les feuilles de calcul sélectionnées sur la zone d’impression de la feuille de calcul active. (Lorsque plusieurs feuilles de calcul sont sélectionnées, la feuille de calcul active est celle qui est visible lorsque vous exécutez la macro.)

Sub SetPrintAreas1()

Dim sPrintArea As String     Dim wks As Worksheet

sPrintArea = ActiveSheet.PageSetup.PrintArea     For Each wks In ActiveWindow.SelectedSheets         wks.PageSetup.PrintArea = sPrintArea     Next     Set wks = Nothing End Sub

Si vous préférez que la zone d’impression soit définie sur une plage que vous spécifiez, plutôt que de devoir d’abord définir la zone d’impression sur la feuille de calcul active, vous pouvez apporter une petite modification à la macro afin qu’elle utilise une plage pour la zone d’impression :

Sub SetPrintAreas2()

Dim sPrintArea As String     Dim wks As Worksheet

sPrintArea = "A7:E22"

For Each wks In ActiveWindow.SelectedSheets         wks.PageSetup.PrintArea = sPrintArea     Next     Set wks = Nothing End Sub

Pour choisir une zone d’impression différente selon vos besoins, remplacez la plage affectée à la variable sPrintArea. Si vous pensez que vous pouvez utiliser la macro assez souvent, dans un certain nombre de classeurs différents, ou si vous pensez que vous devrez peut-être changer la zone d’impression régulièrement, vous pouvez modifier la macro afin qu’elle invite l’utilisateur à indiquer une plage à utiliser:

Sub SetPrintAreas3()

Dim sPrintArea As String     Dim wks As Worksheet

sPrintArea = InputBox("Enter print area range")

For Each wks In ActiveWindow.SelectedSheets         wks.PageSetup.PrintArea = sPrintArea     Next     Set wks = Nothing 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 (9365) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Setting_Print_Ranges_for_Multiple_Worksheets [Définition des plages d’impression pour plusieurs feuilles de travail].