Mitchell a beaucoup de données dans une feuille de calcul qui représente toutes les bandes d’achat s pendant un an. Les données sont triées sur la colonne C, qui contient les noms des fournisseurs. Mitchell souhaite imprimer une page distincte pour chaque fournisseur avec toutes les données de ces lignes. Il se demande s’il existe un moyen d’automatiser l’impression des feuilles spécifiques au fournisseur.

Comme pour beaucoup de choses dans Excel, vous pouvez adopter plusieurs approches pour résoudre ce problème. Je vais examiner quatre approches dans cette astuce. Les quatre approches supposent que vos données sont triées selon la colonne du nom du fournisseur (colonne C) et que vous avez des en-têtes de colonne sur chaque colonne de vos données (nom, date, numéro de bon de commande, fournisseur, etc.).

Utilisation des sous-totaux

Pour imprimer des feuilles spécifiques au fournisseur à l’aide de sous-totaux, commencez par sélectionner une cellule dans vos données. (Une cellule dans la colonne C serait parfaite.) Si vos données ne sont pas contiguës, vous devrez peut-être les sélectionner toutes manuellement; si elle est contiguë, cependant, la sélection de la cellule unique devrait être suffisante. Ensuite, suivez ces étapes:

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

  2. Dans le groupe Plan, cliquez sur l’outil Sous-total. Excel affiche la boîte de dialogue Sous-total. (Voir la figure 1.)

  3. Assurez-vous que la liste déroulante À chaque changement dans est définie sur Fournisseur. (Utilisez le nom de la colonne C.) Ceci indique où Excel insérera les sous-totaux.

  4. La liste déroulante Utiliser la fonction doit être définie sur Nombre.

  5. À l’aide de la liste de la zone Ajouter un sous-total à, sélectionnez la colonne Fournisseur (colonne C). C’est là que le décompte sera ajouté.

  6. Assurez-vous que la case à cocher Remplacer les sous-totaux actuels est activée.

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

  8. Assurez-vous que la case à cocher Résumé sous les données est activée.

  9. Cliquez sur OK.

Excel place des sous-totaux dans votre feuille de calcul, mais il doit également placer des sauts de page avant chaque nouveau fournisseur. (Cela est dû à l’étape 7 ci-dessus.) Les sauts de page ne sont peut-être pas immédiatement évidents, mais ils entrent en jeu lorsque vous imprimez la feuille de calcul.

Une fois imprimée, vous obtenez une page imprimée pour chacun de vos fournisseurs. Le sous-total juste en dessous de la dernière ligne de chaque page indique le nombre de bons de commande imprimés pour ce fournisseur particulier.

Utilisation des données filtrées

Filtrer vos données est assez simple, et c’est une bonne approche si vous n’avez pas besoin d’imprimer ce type de rapports souvent. Encore une fois, commencez par sélectionner une cellule dans vos données, sauf si vos données ne sont pas contiguës.

(Dans ce cas, vous devrez sélectionner manuellement toutes vos données.) Ensuite, suivez ces étapes:

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

  2. Cliquez sur l’outil Filtre dans le groupe Trier et filtrer. Excel doit afficher les indicateurs déroulants du filtre automatique à côté de chaque étiquette de colonne dans la ligne 1.

  3. À l’aide de l’indicateur de liste déroulante de la colonne Fournisseur (colonne C), choisissez le nom du fournisseur que vous souhaitez imprimer. Votre liste est automatiquement filtrée pour n’afficher que les bons de commande de ce fournisseur.

  4. Imprimez la page comme vous le feriez normalement. Le rapport imprimé ne doit afficher que les bons de commande du fournisseur que vous avez spécifié à l’étape 3.

Si vous souhaitez imprimer des rapports pour d’autres fournisseurs, il vous suffit de changer le filtre (étape 3) et de réimprimer (étape 4). Lorsque vous avez terminé, vous pouvez supprimer le filtre en cliquant à nouveau sur l’outil Filtre dans l’onglet Données du ruban.

Utilisation de tableaux croisés dynamiques

Un autre moyen rapide de créer les rapports souhaités consiste à utiliser les fonctionnalités de tableau croisé dynamique d’Excel. Je n’entrerai pas dans la façon de créer un tableau croisé dynamique ici, car cela a été couvert dans d’autres numéros de ExcelTips. Votre tableau croisé dynamique peut être configuré à peu près comme vous le souhaitez, mais vous devez vous assurer que le champ Fournisseur se trouve dans le groupe Filtres du volet Champs de tableau croisé dynamique. (Voir la figure 2.)

image

Figure 2. Configuration de votre tableau croisé dynamique.

Ensuite, affichez l’onglet Options ou Analyser du ruban, selon votre version d’Excel. (Ces onglets ne sont visibles que lorsque vous sélectionnez une cellule dans votre tableau croisé dynamique.) Dans le groupe Tableau croisé dynamique, à gauche du ruban, cliquez sur la liste déroulante Options et choisissez Afficher les pages de filtre de rapport. (Cette option n’est disponible que si vous vous êtes assuré que le champ Fournisseur est dans le groupe Filtres, comme mentionné précédemment.) Excel affiche la boîte de dialogue Afficher les pages de filtre de rapport. (Voir la figure 3.)

image

Figure 3. La boîte de dialogue Afficher les pages de filtre de rapport.

Il ne doit y avoir qu’un seul champ répertorié dans la boîte de dialogue, sauf si vous avez ajouté plus que le champ Fournisseur au groupe Filtres. S’il y a plus d’un champ répertorié, assurez-vous de cliquer sur le champ Fournisseur. Lorsque vous cliquez sur OK, Excel crée des feuilles de calcul de tableau croisé dynamique distinctes pour chaque fournisseur de votre table de données. Selon les informations que vous avez choisi d’inclure dans le tableau croisé dynamique, celles-ci peuvent constituer d’excellents rapports pour vos fournisseurs. Vous pouvez ensuite imprimer les feuilles de calcul pour obtenir les rapports souhaités.

Utilisation de macros

Il existe de nombreuses façons de configurer une macro pour vous fournir les données souhaitées. Personnellement, je préfère une macro qui parcourra vos données et créera de nouvelles feuilles de calcul pour chaque fournisseur. C’est ce que fait la macro suivante: elle compile une liste de fournisseurs à partir de vos données, puis crée une feuille de calcul nommée pour chaque fournisseur. Il copie ensuite les informations de la feuille de calcul d’origine vers les feuilles de calcul nouvellement créées.

Sub CreateVendorSheets()

' To use this macro, select the first cell in     ' the column that contains the vendor names.



Dim sTemp As String     Dim sVendors(99) As String     Dim iVendorCounts(99) As Integer     Dim iVendors As Integer     Dim rVendorRange As Range     Dim c As Range     Dim J As Integer     Dim bFound As Boolean

' Find last row in the worksheet     Set rVendorRange = ActiveSheet.Range(Selection, _       ActiveSheet.Cells(Selection.SpecialCells(xlCellTypeLastCell).Row, _       Selection.Column))



' Collecting all the vendor names in use     iVendors = 0

For Each c In rVendorRange         bFound = False         sTemp = Trim(c)

If sTemp > "" Then             For J = 1 To iVendors                 If sTemp = sVendors(J) Then bFound = True             Next J             If Not bFound Then                 iVendors = iVendors + 1                 sVendors(iVendors) = sTemp                 iVendorCounts(iVendors) = 0             End If         End If     Next c

' Create worksheets     For J = 1 To iVendors         Worksheets.Add After:=Worksheets(Worksheets.Count)

ActiveSheet.Name = sVendors(J)

Next J

' Start copying information     Application.ScreenUpdating = False     For Each c In rVendorRange         sTemp = Trim(c)

If sTemp > "" Then             For J = 1 To iVendors                 If sTemp = sVendors(J) Then                     iVendorCounts(J) = iVendorCounts(J) + 1                     c.EntireRow.Copy Sheets(sVendors(J)). _                       Cells(iVendorCounts(J), 1)

End If             Next J         End If     Next c     Application.ScreenUpdating = True End Sub

Comme indiqué au début de la macro, vous devez sélectionner la première cellule de données dans la colonne Fournisseur avant d’exécuter la macro. Une fois terminé, vous aurez une feuille de calcul pour chaque fournisseur, que vous pourrez formater et imprimer comme vous le souhaitez. (Vous pouvez rendre la macro encore plus utile en ajoutant du code qui mettra des informations d’en-tête de colonne ou d’autres informations dans chaque feuille de calcul créée.) Une fois terminé, vous devrez supprimer les feuilles de calcul de ces fournisseurs afin que la prochaine fois que vous exécutez la macro vous ne rencontrez pas de problème.

_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 (13633) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.