Impression de plusieurs feuilles de calcul sur une seule page (Microsoft Excel)
Les classeurs peuvent contenir toutes sortes de données. Si vous disposez d’un classeur qui comprend un certain nombre de feuilles de calcul, chacune contenant uniquement une petite quantité de données, vous pouvez vous demander s’il existe un moyen d’imprimer les feuilles de calcul multiples sur une seule feuille de papier.
Il existe plusieurs façons d’aborder une solution à ce problème. La première consiste simplement à imprimer plusieurs pages par feuille, en utilisant les capacités de votre pilote d’imprimante. Par exemple, j’ai une ancienne HP LaserJet et le pilote d’imprimante me permet de spécifier le nombre de pages à imprimer par feuille de papier. Si je voulais imprimer trois ou quatre feuilles de calcul d’une seule page sur une seule feuille de papier, tout ce que j’ai à faire est de suivre les étapes suivantes:
-
Appuyez sur Ctrl + P. Excel affiche la boîte de dialogue Imprimer (Excel 2007) ou les options d’impression (Excel 2010 et Excel 2013).
-
Si vous utilisez Excel 2007, choisissez l’option Tout le classeur dans la zone Imprimer quoi de la boîte de dialogue. Si vous utilisez une version ultérieure d’Excel, utilisez la liste déroulante immédiatement sous l’en-tête Paramètres pour choisir Imprimer tout le classeur.
-
Cliquez sur le bouton Propriétés (Excel 2007) ou sur le lien Propriétés de l’imprimante (versions ultérieures d’Excel). Excel affiche la boîte de dialogue Propriétés de l’imprimante, avec l’onglet Disposition sélectionné.
-
Définissez le contrôle Pages par feuille sur 4.
-
Cliquez sur OK pour fermer la boîte de dialogue Propriétés.
-
Cliquez sur OK pour imprimer les feuilles de calcul.
Votre imprimante peut offrir une fonctionnalité similaire à ce qui est décrit ici, mais vous devrez peut-être explorer la boîte de dialogue Propriétés de l’imprimante pour trouver cette fonctionnalité. Bien sûr, l’impression de cette manière peut conduire à un texte très petit sur l’impression, car le pilote d’imprimante réduit simplement chaque page pour occuper une zone proportionnée de la page imprimée. Si vous souhaitez réduire une partie de l’espace blanc et ainsi augmenter la taille du texte imprimé, vous devez rechercher une solution différente.
De nombreuses personnes, pour consolider ce qui est imprimé, créent en fait une «feuille de calcul d’impression» qui ne contient rien d’autre que des références aux zones à imprimer sur les autres feuilles de calcul du classeur. Ces références peuvent être effectuées soit au moyen de formules faisant référence aux données de chaque feuille de calcul, soit en utilisant l’outil de caméra dans Excel. (L’outil de caméra a été décrit dans d’autres numéros de ExcelTips.)
Pour une solution automatisée de fusion de plusieurs feuilles de calcul dans une seule feuille de calcul, vous pouvez utiliser une macro. La macro suivante créera une nouvelle feuille de calcul à la fin de votre classeur et y copiera le contenu de toutes les autres feuilles de calcul.
Sub PrintOnePage() Dim wshTemp As Worksheet, wsh As Worksheet Dim rngArr() As Range, c As Range Dim i As Integer Dim j As Integer ReDim rngArr(1 To 1) For Each wsh In ActiveWorkbook.Worksheets i = i + 1 If i > 1 Then ' resize array ReDim Preserve rngArr(1 To i) End If On Error Resume Next Set c = wsh.Cells.SpecialCells(xlCellTypeLastCell) If Err = 0 Then On Error GoTo 0 'Prevent empty rows Do While Application.CountA(c.EntireRow) = 0 _ And c.EntireRow.Row > 1 Set c = c.Offset(-1, 0) Loop Set rngArr(i) = wsh.Range(wsh.Range("A1"), c) End If Next wsh 'Add temp.Worksheet Set wshTemp = Sheets.Add(after:=Worksheets(Worksheets.Count)) On Error Resume Next With wshTemp For i = 1 To UBound(rngArr) If i = 1 Then Set c = .Range("A1") Else Set c = _ ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell) Set c = c.Offset(2, 0).End(xlToLeft) 'Skip one row End If 'Copy-paste range (prevent empty range) If Application.CountA(rngArr(i)) > 0 Then rngArr(i).Copy c End If Next i End With On Error GoTo 0 Application.CutCopyMode = False ' prevent marquies With ActiveSheet.PageSetup 'Fit to 1 page .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 End With 'Preview New Sheet ActiveWindow.SelectedSheets.PrintPreview 'Print Desired Number of Copies i = InputBox("Print how many copies?", "ExcelTips", 1) If IsNumeric(i) Then If i > 0 Then ActiveSheet.PrintOut Copies:=i End If End If 'Delete temp.Worksheet? If MsgBox("Delete the temporary worksheet?", _ vbYesNo, "ExcelTips") = vbYes Then Application.DisplayAlerts = False wshTemp.Delete Application.DisplayAlerts = True End If End Sub
Une fois la feuille de calcul combinée assemblée, la macro affiche la feuille de calcul à l’aide de l’aperçu avant impression. Lorsque vous fermez l’aperçu avant impression, il vous demande combien de copies de la feuille de calcul vous souhaitez imprimer. Si vous entrez un nombre supérieur à zéro, ce nombre de copies est imprimé. Enfin, la macro propose de supprimer la feuille de calcul combinée pour vous juste avant de terminer.
_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 (8315) s’applique à Microsoft Excel 2007, 2010 et 2013. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:
link: / excel-Printing_Multiple_Worksheets_on_a_Single_Page [Impression de plusieurs feuilles de travail sur une seule page]
.