Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Filtre fourchette de dates

JBL07

XLDnaute Occasionnel
Bonjour le Forum,

Je viens de récupérer un petit code, mis dans un module, dont j'espérais qu'il allait me permettre de filtre la colonne B9 ( les dates dans mon tableau ) depuis les 2 cellules R3/ date début et R5/date Fin

Mais ça bug

Un avis sur le code ou son insertion ??

Public Sub MyFilter()
Dim lngStart As Long, lngEnd As Long
lngStart = Sheets("Ecritures").Range("R3").Value 'assume this is the start date
lngEnd = Sheets("Ecritures").Range("R5").Value 'assume this is the end date
Range("B9:B50000").AutoFilter field:=1, Criteria1:=">=" & lngStart, Operator:=xlAnd, Criteria2:="<=" & lngEnd
End Sub

Je sais qu'il existe cette fonction dans les filtres de colonnes, mais je voudrais le réaliser plus facilement avec un bouton macro

Merci de votre aide
 
Solution
Bonjour,
Essayez comme ça,
VB:
Public Sub MyFilter()
    Dim lngStart As Long, lngEnd As Long, dl As Long
    dl = Range("B65536").End(xlUp).Row
    lngStart = Sheets("Ecritures").Range("R3").Value 'assume this is the start date
    lngEnd = Sheets("Ecritures").Range("R5").Value 'assume this is the end date
    Range("B9:B" & dl).AutoFilter field:=1, Criteria1:=">=" & lngStart, Operator:=xlAnd, Criteria2:="<=" & lngEnd
End Sub

Nicolas JACQUIN

XLDnaute Impliqué
Supporter XLD
Bonjour,
Essayez comme ça,
VB:
Public Sub MyFilter()
    Dim lngStart As Long, lngEnd As Long, dl As Long
    dl = Range("B65536").End(xlUp).Row
    lngStart = Sheets("Ecritures").Range("R3").Value 'assume this is the start date
    lngEnd = Sheets("Ecritures").Range("R5").Value 'assume this is the end date
    Range("B9:B" & dl).AutoFilter field:=1, Criteria1:=">=" & lngStart, Operator:=xlAnd, Criteria2:="<=" & lngEnd
End Sub
 

job75

XLDnaute Barbatruc
Re, salut Nicolas Jacquin,

Puisqu'il s'agit d'un tableau structuré :
VB:
Public Sub MyFilter()
Dim lngStart As Long, lngEnd As Long
With Sheets("Ecritures")
    lngStart = .Range("R3") 'assume this is the start date
    lngEnd = .Range("R5") 'assume this is the end date
    .ListObjects(1).Range.AutoFilter Field:=1, Criteria1:=">=" & lngStart, Operator:=xlAnd, Criteria2:="<=" & lngEnd
End With
End Sub
A+
 

JBL07

XLDnaute Occasionnel
Bonjour Nicolas
Merci, c'est juste parfait


..... oups j'ai oublié de valider l'envoi de mon message de remerciement !

Donc le code de Nicolas fonctionne , pouvez-vous me dire quel différence représente celui de Job75 ?

Merci à vous deux en tout cas !
 

Discussions similaires

Réponses
2
Affichages
348
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…