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 :)

4 réponses

f894009
Messages postés
16626
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
4 août 2022
1 647
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
29
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
29
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