Option Explicit
Sub Fiiiiiiiiiiiltrer()
Dim i As Long
Dim valeur As Variant
Dim plage As Range
Set plage = Sheets("Feuil2").Range("A1").CurrentRegion
For i = 1 To 8
If Not IsEmpty(Sheets("Feuil1").Cells(i, 2)) Then
valeur = "*" & Sheets("Feuil1").Cells(i, 2).Value & "*"
' test la valeur d'une cellule
If IsDate(Sheets("Feuil1").Cells(i, 2).Value) Then
' Si la cellule = Sheets("Feuil1").Cells(i, 2).Value) est égale à une date.
' Transfert de la date telle quelle dans la variable = valeur
' Soit la date.
valeur = Sheets("Feuil1").Cells(i, 2).Value
' Filtre avec la date.
plage.AutoFilter field:=i, Criteria1:="=" & valeur
Else
' Si non dans les autres cas c'est sur une zone de texte
' Bien sûr les "*" sont des Jocker et sont équivalent à contient pour le filtre
' donc Contient le Texte de la cellule comme ci desous.
' "*" & Sheets("Feuil1").Cells(i, 2).Value & "*"
plage.AutoFilter field:=i, Criteria1:="=" & valeur
End If
End If
Next i
' Par contre ici je n'ai pas compris Parent (cette instruction mais inconu)
plage.Parent.Activate
End Sub