Bonjour,

J'ai une liste dont la premiere colonne est une date et sur la quelle il y a des filtre automatiques.
Je cherche a faire une macro qui efface toutes les années sauf une.

Actuellement, j'ai ca.
Ca fonctionne mais ca ne m'a pas l'air terrible

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
    annee = InputBox("Quelle année isoler?")
    derlgn = ActiveSheet.UsedRange.Rows.Count
    For i = derlgn To 2 Step -1
        If Cells(i, 1) <> "" Then
            If Str(Year(Cells(i, 1))) <> Str(annee) Then
                Rows(i).Delete Shift:=xlUp
            End If
        Else
            Rows(i).Delete Shift:=xlUp
        End If
    Next i
J'aimerai utiliser le filtre pour aller plus vite, je voudrais filtrer en gardant toutes les années sauf celle choisie, effacer la plage et puis enlever le filtre, mais je ne trouve pas comment automatiser le filtre

Si j'utilise l'enregistreur de macro il me donne ca si je coche all et puis que je décoche 2010
Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("$A$1:$E$1890").AutoFilter Field:=1, Criteria1:=Array("=" ), Operator:=xlFilterValues, Criteria2:=Array(0, "9/3/2011")
mais je ne trouve pas comme l'adapter.

Il y a une facon de faire ca?