Excel est un outil pratique pour garder une trace de toutes sortes de données. De nombreuses personnes l’utilisent au travail pour créer des rapports ad hoc pour différents départements ou projets. Lorsque vous travaillez avec vos données, vous vous demandez peut-être comment insérer automatiquement des sauts de page lorsque le contenu d’une certaine colonne change. Par exemple, vous pouvez avoir une colonne qui contient des noms de département et vous pouvez souhaiter que chaque département commence sur une nouvelle page.

C’est assez facile à faire avec la fonction de sous-totaux intégrée d’Excel.

Tout ce que vous avez à faire est de suivre ces étapes générales:

  1. Assurez-vous que votre tableau contient des étiquettes de colonne. Par exemple, si la colonne A contient les noms de département, la cellule A1 peut contenir une étiquette telle que « Département ». Assurez-vous que toutes les colonnes ont des étiquettes.

  2. Triez les données de votre tableau en utilisant la colonne de service comme clé.

  3. Affichez l’onglet Données du ruban.

  4. Une cellule du tableau étant toujours sélectionnée, cliquez sur l’outil Sous-total dans le groupe Plan. Excel affiche la boîte de dialogue Sous-total. (Voir la figure 1.)

  5. À l’aide de la liste déroulante À chaque changement, sélectionnez Service.

  6. À l’aide de la liste déroulante Utiliser la fonction, sélectionnez Nombre.

  7. À l’aide de la liste Ajouter un sous-total à, sélectionnez le nom de la colonne dans laquelle vous souhaitez que votre sous-total apparaisse.

  8. Assurez-vous que la case à cocher Saut de page entre les groupes est activée.

  9. Cliquez sur OK. Excel ajoute les sous-totaux et la page compte, comme indiqué.

Si, pour une raison quelconque, vous ne souhaitez pas utiliser la fonctionnalité Sous-totaux, vous pouvez toujours écrire une macro qui supprimera tous les sauts de page de votre feuille de calcul, puis ajoutez de nouveaux sauts de page aux endroits appropriés. La macro suivante fera l’affaire:

Sub PageBreak()

Dim CellRange As Range     Dim TestCell As Range

Set CellRange = Selection     For Each TestCell In CellRange         ActiveSheet.Rows(TestCell.Row).PageBreak = xlPageBreakNone         If TestCell.Value <> TestCell.Offset(-1, 0).Value Then             ActiveSheet.Rows(TestCell.Row).PageBreak = xlPageBreakManual         End If     Next TestCell End Sub

Pour utiliser la macro, sélectionnez simplement les cellules que vous souhaitez utiliser comme clé pour effectuer les fractionnements, moins la cellule du haut. Par exemple, si les départements sont dans la colonne A, lignes 2 à 37, vous sélectionnez la plage de A3 à A37. Exécutez la macro, et tous les anciens sauts de page sont supprimés et de nouveaux ajoutés.

_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 (7991) 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-Conditional_Page_Breaks [Sauts de page conditionnels].