Filtres avancés multiples

Bonjour,

Je souhaite avoir une gestion des AdvancedFilter en VBA qui combine les ET et les OU mais je ne sais pas comment faire.

J'ai un onglet Datas et un onglet Extract.

Les filtres sont dans Extract.

Dans Datas j'ai une DATE DEBUT et une DATE FIN sur lesquelles je filtre (ET).

Ce que j'ai actuellement =>

Filtres dans Extract en AA1/AA2 et AB1/AB2

DATE DEBUT DATE FIN

>=01/03/2020 >=01/05/2021

    With Worksheets("Extract")
        Sheets("Datas").Range("A1:O9999").AdvancedFilter xlFilterCopy, .Range("AA1:AB2"), .Range("A1"), False
    End With

Ce que j'aimerai =>

Un OU entre chaque ligne

DATE DEBUT    DATE FIN
>=01/03/2020    >=01/05/2021
<=01/03/2020    <=01/05/2021
<=01/03/2020    >=01/05/2021

Est-ce possible ?

Merci

Bonjour,

Je n'arrive pas à supprimer mon message je m'en suis sorti finalement

Les filtres avancés sont justes parfaits pour VBA !

Chaque ligne est un ET et on saute d'une ligne à l'autre avec un OU.

    With Worksheets(strName)
        .Cells(1, 27) = "DATE DEBUT"
        .Cells(1, 28) = "DATE DEBUT"
        .Cells(1, 29) = "DATE FIN"
        .Cells(1, 30) = "DATE FIN"

        .Cells(2, 27) = ">=" & StartDate
        .Cells(2, 28) = "<" & EndDate

        .Cells(3, 29) = ">=" & StartDate
        .Cells(3, 30) = "<" & EndDate

        .Cells(4, 27) = "<=" & StartDate
        .Cells(4, 29) = ">=" & EndDate

        .Cells(5, 27) = ">=" & StartDate
        .Cells(5, 29) = "<" & EndDate

        Sheets(strDatas).Range("A1:O9999").AdvancedFilter xlFilterCopy, .Range("AA1:AD5"), .Range("A1"), False
     End With

Formater toutes les dates en US pour que ça marche après le 12 de chaque mois....

Format(StartDate, "yyyy-mm-dd")

Bonjour

Avec 365 on remplace souvent le filtre avancé par une requête PowerQuery...

Merci pour l'info.

Je suis tombé sur les filtres avancés lors de mes recherches.

Je regarderai les powerquery mais je n'ai presque pas de temps alloué pour terminer ce truc !

Rechercher des sujets similaires à "filtres avances multiples"