Excel 2019 filtre inférieur à la date du jour

Bonjour,

J'utilise excel 2019, j'ai fait une macro avec plusieurs filtres, dont un qui doit filtrer les dates inférieur à la date du jour mais ça ne fonctionne pas

voici ma macro :

Sub FiltrerEtCopier()
Dim wsSource As Worksheet
Dim wsNouveau As Worksheet
Dim dtaujourhui As Date
Dim dernierLigne As Long

'' Définir la feuille source
Set wsSource = ThisWorkbook.Sheets("Feuil1") ' Changez le numéro de la feuille si nécessaire
dtaujourdhui = Date

' Appliquer les filtres
With wsSource

' Filtrer sur la colonne AN (toutes les données sauf vides)
.Range("A1").CurrentRegion.AutoFilter Field:=40, Criteria1:="<>0"

' Filtrer sur la colonne BD (toutes les données sauf vides)
.Range("A1").CurrentRegion.AutoFilter Field:=56, Criteria1:="<>"

' Filtrer sur la colonne BF (toutes les données sauf vides)
.Range("A1").CurrentRegion.AutoFilter Field:=58, Criteria1:="<>"

' Filtrer sur la colonne BA (sur les vides)
.Range("A1").CurrentRegion.AutoFilter Field:=53, Criteria1:="="

' Filtrer sur la colonne BE (toutes les dates inférieures à la date du jour)
.Range("A1").CurrentRegion.AutoFilter Field:=57, Criteria1:="<=" & dtaujourdhui


' Créer une nouvelle feuille
On Error Resume Next
Set wsNouveau = ThisWorkbook.Worksheets("loyer non indexé")
If wsNouveau Is Nothing Then
Set wsNouveau = ThisWorkbook.Worksheets.Add
wsNouveau.Name = "loyer non indexé"
End If

' Copier les en-têtes et les données filtrées
dernierLigne = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy Destination:=wsNouveau.Range("A1")

' Supprimer les filtres
.AutoFilterMode = False
End With

MsgBox "Les données ont été filtrées et copiées dans la feuille 'loyer non indexé'.", vbInformation
End Sub

merci d'avance pour votre aide

Bonjour Melanie et bienvenue... quoique

Comme c'est là, vous n'avez pas lu la charte du forum

Le code donné est à mettre entre balises grâce au bouton prévu à cet effet

image

Je crois que vous ne pouvez pas éditer votre 1er post, sinon faite le et modifiez le

Sinon, il faut que la date soit au format américain,

Donc essayez avec un truc du style :

Dim dtaujourhui As String
dtaujourdhui = Format(Date,"mm.dd.yyyy")

A+

Bonjour,

A tout hasard (mais sans fichier ...) les données en "BE" :

  • sont elles bien des dates
  • sont elles bien au format date (le format des cellules) alignées à droite de la cellule sans utiliser le bouton d'alignement à droite

Des valeurs représentant visuellement une date pour l'humain peuvent ne pas être définies comme date dans Excel mais comme texte (dans ce cas Excel aligne la valeur à gauche de la cellule par défaut)

Rechercher des sujets similaires à "2019 filtre inferieur date jour"