VBA - filtre textuel "antérieur ou égal à " une valeur dans une cellule
l
Bonjour,
Dans mon fichier ci-joint j'aimerais un code qui permette de filtrer une date (colonne E) avec un filtre antérieur ou égal à la donnée dans la cellule I1 (celle-ci changera tout le temps)
Exemple de mon fichier sans filtre :
Exemple de mon fichier avec filtre dans la colonne E :
J'ai fais en code :
Sub Filtres_export()
Sheets("Feuil1").Select
ActiveSheet.AutoFilterMode = False
Range("A1:F1").AutoFilter
derligne = Range("A200000").End(xlUp).Row
ActiveSheet.Range("$A$2:$F$" & derligne).AutoFilter Field:=5, Criteria1:= _
"<=04/11/2024", Operator:=xlAnd
End SubJe n'arrive pas à mettre dans mon code la donnée de ma cellule. Je suis obligé de la changer à la main.
Merci pour votre aide
Invité
Bonjour,
Un essai :
Sub Filtres_export()
Dim Ws As Worksheet
Dim DerLigne As Integer
Set Ws = Sheets("Feuil1")
Ws.Activate
DerLigne = Ws.Range("A" & Ws.Rows.Count).End(xlUp).Row ' dernière ligne
On Error Resume Next ' si erreur
AutoFilter.Sort.SortFields.Clear
AutoFilter.Sort.SortFields.Add2 Key:= _
Ws.Range("A1:F" & DerLigne), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
On Error GoTo 0 ' résume erreur
Ws.AutoFilterMode = False
Ws.Range("A1:F1").AutoFilter
Ws.Range("$A$2:$F$" & DerLigne).AutoFilter Field:=5, Criteria1:= _
"<=" & Format(Ws.Cells(1, "i").Value, "MM-DD-YYYY")
' note : Pour le peu que j'en sais, il semble que le filtre ne prend que les dates au format anglais, il faut donc convertir.
End SubCe code gagnerait sûrement à être revu par un excelleux meilleur que moi.
Biz