Shishona se demande s’il existe un moyen pour Excel d’activer / de définir des filtres lors de l’ouverture de chaque classeur. Elle utilise presque toujours des filtres pour ses feuilles de calcul et ne pense pas qu’il y aurait de mal à avoir des filtres pour les classeurs où elle n’utilise pas de filtres. Au lieu d’activer les filtres chaque fois qu’elle ouvre un classeur, elle aimerait qu’ils soient déjà activés.

La réponse, comme vous pouvez le deviner, dépend exactement de ce que l’on entend par «défaut». Excel ne vous autorise pas à activer les filtres si une feuille de calcul ne contient aucune donnée (car il n’y a rien à filtrer). Par conséquent, «par défaut» ne peut pas signifier de nouveaux classeurs vides.

Étant donné que les filtres ne peuvent être activés que sur les feuilles de calcul contenant des données, il est possible de créer un «classeur par défaut» contenant des données et dont les filtres sont activés. Enregistrez ensuite ce classeur dans un emplacement spécial de votre système afin qu’il puisse être utilisé comme modèle par défaut pour tous les nouveaux classeurs que vous créez. (Comment vous faites cela a été traité dans d’autres numéros de ExcelTips.)

Bien sûr, adopter cette approche peut être plus problématique que cela ne vaut la peine, car vous devrez probablement supprimer les données filtrées par défaut après avoir créé un nouveau classeur, ce qui signifie que le filtrage serait supprimé de toute façon. Il est donc préférable de ne pas jouer avec l’approche de classeur par défaut.

Au lieu de cela, vous pouvez vouloir dire que vous souhaitez que le filtrage soit activé, automatiquement, lorsque vous ouvrez un classeur existant. Il n’y a aucun moyen de le faire automatiquement dans Excel, mais vous n’en aurez peut-être pas besoin. La raison en est que lorsque vous enregistrez un classeur, Excel se souvient des données auxquelles des filtres sont appliqués. Ainsi, si vous créez une feuille de calcul et activez le filtrage, puis enregistrez le classeur, la prochaine fois que vous l’ouvrirez, les filtres sur ces données seront toujours activés.

Vous pouvez également vous assurer que les données de vos feuilles de calcul sont définies comme une table de données formelle. Tout ce que vous avez à faire est de sélectionner une cellule dans les données et d’appuyer sur Ctrl + T ou d’afficher l’onglet Insertion du ruban et de cliquer sur l’outil Tableau. Une fois la table de données configurée, Excel maintient les filtres de cette table de données activés à moins que vous ne la reconvertissiez d’une table de données en données normales.

Si vous craignez qu’un filtre soit désactivé (ou pas du tout activé) lors de l’enregistrement du classeur, vous pouvez ajouter une macro au mixage pour parcourir les feuilles de calcul et activer le filtrage. L’exemple suivant fait cela, en ignorant les feuilles de calcul pour lesquelles le filtrage est peut-être déjà activé.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _   Cancel As Boolean)

Dim ws As Worksheet

On Error Resume Next ' Handles worksheets with no data     For Each ws In ThisWorkbook.Worksheets         If ws.AutoFilter Is Nothing Then             ' Only affect worksheets with filtering turned off             ws.Rows(ws.UsedRange.Row).AutoFilter         End If     Next ws     On Error GoTo 0 End Sub

Cette macro doit être ajoutée à l’objet ThisWorkbook dans Visual Basic Editor. Il s’exécutera chaque fois que le classeur est fermé, garantissant ainsi que le filtrage est activé pour chaque feuille de calcul. Étant donné que l’état de filtrage est enregistré avec le classeur, les filtres seront en place la prochaine fois que le classeur est ouvert.

Bien sûr, vous ne souhaiterez peut-être pas qu’une macro soit associée à chacun de vos classeurs. Dans une telle situation, il peut être simplement plus facile de se souvenir d’un petit raccourci clavier rapide: Ctrl + Maj + L. Ce raccourci bascule l’état du filtrage sur les données entourant la cellule actuellement sélectionnée. Ainsi, vous pouvez sélectionner une cellule, appuyer sur Ctrl + Maj + L et le filtrage est activé. Appuyez à nouveau dessus et le filtrage est désactivé. Le raccourci est extrêmement rapide et vous permet de filtrer facilement vos données (ou non).

Vous pouvez également ajouter l’outil Filtre à la barre d’outils d’accès rapide. (L’ajout d’outils au QAT a été traité dans d’autres numéros de ExcelTips.) Cliquez sur l’icône Filtre pour activer ou désactiver le filtrage.

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