Filtrer sur un mois et une annee a partir de liste déroulante

Bonjour a tous,

Je me présente Anthony 29 Ans j'habite sur Lyon et j'ai quelques difficultés avec Excel

Je souhaiterai sur un document filtrer a partir d'une liste déroulante ou en utilisant une macro en fonction d'un mois et d'une année (2 listes séparer)

Et également pouvoir tout afficher d'un coup (en utilisant une macro également je crois)

13test.xlsm (31.96 Ko)

J'ai vu qu'il y avait eut d'autre sujet mais impossible de retranscrire pour y adapter a mon document

Merci par avance

Bonjour

dans Feuil1

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("G2:G3")) Is Nothing Then Exit Sub
ActiveSheet.ListObjects(1).Range.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A6").CurrentRegion, Unique:=False
End Sub
14test.xlsm (31.22 Ko)

Nickel,

et pour tout réafficher comment je peux procéder ?

Edit c'est bon j'ai trouver la macro pour tout afficher

Merci pour ton aide

On peut peaufiner ...

si mois à blanc, afficher l'année

si année à blanc tout afficher ...

enfin bref,

On peut peaufiner ...

si mois à blanc, afficher l'année

si année à blanc tout afficher ...

enfin bref,

oui ca pourrait m'intéressé

comment je dois modifie le script ?

Je l'ai fait de 3 façons ...

la macro

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("G2:G3")) Is Nothing Then Exit Sub
If Range("G2") = "" Then
    If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
Else
    ActiveSheet.ListObjects(1).Range.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A6").CurrentRegion, Unique:=False
End If
End Sub

une MFC sur la zone G3 afin de montrer qu'elle est inopérante sir l'année n'est pas renseignée

le calcul des bornes en A7/A8 s'il n'y a pas le mois renseigné (on prend alors l'année)

9test.xlsm (31.90 Ko)

Bonjour,

Une autre proposition à étudier.

Cdlt.

7test-3.xlsm (30.36 Ko)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lo As ListObject, startDate As Date, endDate As Date
    If Not Intersect(Target, Me.Range("G2:G3")) Is Nothing Then
        Set lo = Range("Tableau1").ListObject
        If lo.ShowAutoFilter Then lo.AutoFilter.ShowAllData
        If Not IsEmpty(Me.Cells(2, 7)) And Not IsEmpty(Me.Cells(3, 7)) Then
            startDate = DateSerial(Me.Cells(2, 7), Month("1/" & Me.Cells(3, 7)), 1)
            endDate = WorksheetFunction.EoMonth(startDate, 0)
            lo.Range.AutoFilter _
                    Field:=1, _
                    Criteria1:=">=" & Format(startDate, "mm/dd/yyyy"), _
                    Operator:=xlAnd, _
                    Criteria2:="<=" & Format(endDate, "mm/dd/yyyy")
        End If
    End If
End Sub
Rechercher des sujets similaires à "filtrer mois annee partir liste deroulante"