VBA Excel 2010 : Supprimer tout les filtres à la fermeture

Résolu/Fermé
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 - 26 mars 2013 à 16:14
 ExpertExcel - 4 avril 2013 à 12:15
Bonjour à tous,

J'aimerais créer une macro qui permet de supprimer tout les filtres qui ont pu être appliquer sur le fichier soir à la fermeture de celui-ci, soit à l'ouverture, afin d'être sur d'ouvrir le fichier sans aucun filtre actif.

Je ne sais pas si ça à une importance, mais mes filtres sont sur la ligne 3 et vont de la colonne B à la colonne AH.

Merci d'avance :)
A voir également:

4 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
26 mars 2013 à 16:34
Bonjour,

une facon de faire a l'ouverture du fichier

code dans thisworkbook sauvegarder fichier en xlsm

Private Sub Workbook_Open()
    For i = 1 To Sheets.Count
        Sheets(i).Select
        Cells.Select
        Selection.AutoFilter
    Next
End Sub


ou a la fermeture

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    For i = 1 To Sheets.Count
        Sheets(i).Select
        Cells.Select
        Selection.AutoFilter
    Next
End Sub


Bonne suite
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
27 mars 2013 à 08:34
Ok, merci beaucoup :)
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
29 mars 2013 à 09:30
Bonjour à tous,

Je reviens vers vous car je viens de me rendre compte (mieux vaut tard que jamais) que je m'étais mal exprimé.

Je ne souhaite pas la suppression de l'outils filtre, juste la remise par défaut de ceux-ci sur mes 2 premières pages (les autres étant des graphiques).

J'espère m'être bien exprimé cette fois,

Merci d'avance et bonne journée
0
Voici une solution simple

Dim i as integer
Const NBR_FEUILLES = 2

on error resume next
' obligatoirement les 2 première feuilles de ton classeur
For i = 1 to NBR_FEUILLES
worksheets(i).cells.AutoFilter ' efface les filtre
worksheets(i).cells.AutoFilter ' le remet par défaut
next

Fred
http://expertise-excel.com/
0