L’une des plaintes de longue date concernant Excel est qu’il ne dispose pas d’une méthode très robuste pour créer et gérer les en-têtes et les pieds de page.

Considérez le scénario suivant: Vous souhaitez imprimer votre feuille de calcul, mais uniquement les numéros de page commençant sur la deuxième page.

Il n’existe aucune méthode intrinsèque dans Excel pour gérer cette situation. Il existe quelques solutions de contournement; par exemple, vous pouvez placer votre première page sur une feuille de calcul (sans en-têtes ni pieds de page) et les pages suivantes sur une feuille de calcul différente (qui comprend des en-têtes et des pieds de page). Vous pouvez ensuite imprimer les deux feuilles de calcul en un seul passage et atteindre efficacement votre objectif.

Si vous avez installé le Gestionnaire de rapports, vous pouvez l’utiliser pour créer différents rapports en fonction des informations de votre feuille de calcul.

L’utilisation du gestionnaire de rapports a été abordée dans d’autres numéros de ExcelTips. Le complément Report Manager a été distribué pour la dernière fois avec Excel 2002, mais vous pouvez toujours l’utiliser dans Excel 2003.

Cependant, aucune de ces approches ne fonctionne pour toutes les situations. Par exemple, il se peut que vous ne puissiez pas diviser votre impression en plusieurs feuilles de calcul ou que vous n’ayez pas beaucoup d’expérience avec le Gestionnaire de rapports (ou que vous ne souhaitiez pas le télécharger et l’installer). Si vous préférez, vous pouvez créer une macro qui imprimera votre feuille de calcul comme vous le souhaitez.

La macro suivante, GoodPrint, imprimera la première page d’une feuille de calcul sans en-têtes ou pieds de page, puis toutes les pages suivantes comme d’habitude.

Sub GoodPrint()

Dim hlft As String     Dim hctr As String     Dim hrgt As String     Dim flft As String     Dim fctr As String     Dim frgt As String

'save current header     hlft = ActiveSheet.PageSetup.LeftHeader     hctr = ActiveSheet.PageSetup.CenterHeader     hrgt = ActiveSheet.PageSetup.RightHeader

'save current footer     flft = ActiveSheet.PageSetup.LeftFooter     fctr = ActiveSheet.PageSetup.CenterFooter     frgt = ActiveSheet.PageSetup.RightFooter

'remove header and footer     With ActiveSheet.PageSetup         .CenterHeader = ""

.RightHeader = ""

.LeftHeader = ""

.CenterFooter = ""

.RightFooter = ""

.LeftFooter = ""

End With

'print page one     ActiveSheet.PrintOut 1, 1

'restore header and footer     With ActiveSheet.PageSetup         .LeftHeader = hlft         .CenterHeader = hctr         .RightHeader = hrgt         .LeftFooter = flft         .CenterFooter = fctr         .RightFooter = frgt     End With

'print the rest of the pages     ActiveSheet.PrintOut 2 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 (2189) 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-Selective_Headers_and_Footers [En-têtes et pieds de page sélectifs].