Affichage des critères de filtre sur une impression (Microsoft Excel)
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]
.