Microsoft Excel comprend de très bons outils qui vous aident à filtrer de grandes tables de données pour inclure uniquement les informations que vous souhaitez afficher. En effet, les filtres vous permettent de « découper » vos données jusqu’à ce que vous obteniez exactement ce que vous voulez.

Lors de l’impression de données filtrées, vous voudrez peut-être savoir quel découpage et découpage en dés a été effectué sur les données d’origine. Il existe plusieurs façons d’afficher vos critères de filtrage. Un moyen simple consiste à utiliser les capacités de filtrage avancées d’Excel, qui nécessitent que vous configuriez un petit tableau de critères pour vos données. Si le tableau des critères fait partie de ce que vous imprimez, vous pouvez voir vos critères de filtrage assez facilement.

Si vous utilisez le filtre automatique, vous devez utiliser une approche différente. Une telle approche est détaillée sur le site de John Walkenbach:

http://j-walk.com/ss/excel/usertips/tip044.htm

Cette solution utilise une fonction définie par l’utilisateur pour renvoyer tous les critères de filtrage utilisés dans la colonne actuelle. La fonction peut être utilisée dans une cellule, dans cette colonne, pour afficher les critères. Si vous utilisez un filtrage avancé, l’approche macro est un peu plus complexe. Les macros suivantes (il y en a deux dans la liste) examinent les critères avancés en jeu, puis placent les critères dans la partie gauche de l’en-tête.

Sub AddFilterCriteria()

Dim strCriteria As String

strCriteria = FilterCriteria()

If strCriteria = "" Then         strCriteria = "No Filtering Criteria"

Else         strCriteria = "Filter Criteria:" & Chr(10) & strCriteria     End If

'   add Criteria string to Header/Footer     With ActiveSheet.PageSetup         .LeftHeader = strCriteria     End With End Sub

Function FilterCriteria() As String     Dim rngCriteria As Range, col As Range, cel As Range     Dim strCriteria As String, r As Integer, c As Integer     Const strCriteriaRange As String = "Criteria"



FilterCriteria = ""



On Error Resume Next     'Set Criteria-Range reference     Set rngCriteria = Range(strCriteriaRange)

If Err <> 0 Then Exit Function     On Error GoTo 0

'   Create Criteria String     c = 0     For Each col In rngCriteria.Columns         c = c + 1     ' CriteriaRange Columns         r = 1         ' CriteriaRange Rows         For Each cel In col.Cells             If r = 1 Then                 strCriteria = strCriteria & "Criteria" _                   & c & " (" & cel.Value & ") = "

Else                 strCriteria = strCriteria & "'" & cel.Value & "'"

If IsEmpty(cel.Offset(1, 0)) Then                     'Add New row Char if not Last Criteria Column                     If c < rngCriteria.Columns.Count Then                         strCriteria = strCriteria & Chr(10)

End If                     Exit For                 End If                 strCriteria = strCriteria & "  "

End If             r = r + 1         Next cel    ' next criteria row     Next col        ' next criteria column

FilterCriteria = strCriteria End Function

Pour utiliser la macro, exécutez simplement la macro AddFilterCriteria, après avoir configuré votre filtrage avancé. La macro lit le tableau des critères et rassemble les critères dans une chaîne qui est placée dans l’en-tête gauche.

_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 (3248) 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-montrant_Filter_Criteria_on_a_Printout [Affichage des critères de filtre sur une impression].