XL 2016 filtre 2 critères

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Je me mets actuellement à l'utilisation des filtres.
Je ne connais pas encore 😕

je voudrais faire une sélection (affichage) sur 2 critères.
critère 1 : sur la colonne E,
critère 2 : sur la colonne F affichant que les dates = "aujourdhui()".

voici mon code :
Code:
Sub filtreAR()
    Application.EnableEvents = False
    Application.ScreenUpdating = False

Rows("5:5").Select
    Selection.AutoFilter
    ActiveSheet.Range("$E$5:$F$154").AutoFilter Field:=1, Criteria1:="A Rappeler"
    ActiveSheet.Range("$E$5:$F$154").AutoFilter Field:=2, Operator:=xlFilterValues, Criteria2:="=TODAY()"

    'ActiveSheet.Range("$E$5:$F$154").AutoFilter Field:=2, Operator:=xlFilterValues, Criteria2:=Array(2, "2/22/2019")

    Application.EnableEvents = False
    Application.ScreenUpdating = False

    Rows("7:2000").Select
    ActiveWorkbook.Worksheets("Répondeurs").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Répondeurs").Sort.SortFields.Add Key:=Range( _
        "f7:f20000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Répondeurs").Sort
        .SetRange Range("A7:BH20000")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        '.Apply
    End With

    Range("f5").Select
ActiveWindow.DisplayHeadings = False
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Mais je n'y arrive pas malgré mes tentatives et essais.
Je joins le classeur test.

Pourriez-vous m'aider ?

Avec mes remerciements,
Je vous souhaite une bonne journée à toutes et à tous,
Amicalement,
arthour9973,
 

Pièces jointes

Re-Bonjour à toutes et à tous,

Poursuivant mes recherches et sans résultat. Je suis allé "éplucher" les filtres de Mr Boisgontier.
http://boisgontierjacques.free.fr/

Dans l'un de ses fichiers, j'ai trouvé un code qui fonctionne très bien :
Code:
Sub filtreSup1Date()
  [A5].AutoFilter field:=5, Criteria1:=">=" & CDbl(CDate("06/03/2019"))
End Sub

Je voudrais filtrer sur la date du jour et je n'arrive pas à le faire fonctionner si je le modifie comme suit :
[A5].AutoFilter field:=5, Criteria1:=">=" & CDbl(CDate("=TODAY()"))

Pourriez-vous me corriger ?
Avec mes remerciements,
amicalement,
arthour973
 
Dernière édition:
bonjour,

pas sûr que J. BOISGONTIER utilise Today() !!!

Pour le premier post , à tester:
VB:
Range("$E$5").AutoFilter Field:=1, Criteria1:="A Rappeler"
Range("$E$5").AutoFilter Field:=2, Criteria1:=Format(Date, "dd mm yy")
 
Bonjour Paf,

Merci pour m'avoir répondu 😉

Je planche depuis hier soir et je ne m'en sors pas LOL

J'ai testé ton code mais ça plante :
Code:
Sub Macro1()
    Range("A4:b100").Select
    Range("$E$4").AutoFilter Field:=1, Criteria1:="A Rappeler"
    Range("$E$4").AutoFilter Field:=2, Criteria1:=Format(Date, "dd mm yy")
  
'    Selection.AutoFilter Field:=2, Criteria1:="=<6"
'    ', Operator:=xlAnd, Criteria2:=">5"
    Range("a1").Select
End Sub

Je remets le fichier avec ton code ... et je continue mes recherches.
Amicalement,
arthour973
 

Pièces jointes

Super de chez super il semble bien que ça marche 🙂

Je joins le classeur car ça peut en intéresser d'autres.

Juste un truc :
Il ne filtre que sur la date du jour : ça tombe bien, c'est mon besoin LOL
Mais si je veux filtrer sur une autre date, c'est possible ?
Encore un grand merci.
amicalement,
arthour973,
 

Pièces jointes

pour filtrer sur les dates notamment, il faut que le critère ait le même format que les cellules à trier.

dans la colonne F la date à le format "jj mm aa" (ou dd mm yy) il faut donc appliquer le même format au critère


VB:
MaDate=Date ' tri date du jour
ou
VB:
Madate = range("A4")  '  tri sur cellule contenant une date
ou
VB:
MaDate= CDate("28/02/2019") ' tri sur date saisie manuellement

et

VB:
Range("$E$5").AutoFilter Field:=2, Criteria1:=Format(MaDate, "dd mm yy")
 
je n'ai pas dit que la cellule (qui allait servir de critère) devait être formatée comme dans le code, mais que le critère de recherche devait être formaté comme les cellules à trier.

Donc s'il y a une date en A1 : OK quelque soit son format (à vérifier quand même) pourvu que ce soit une date.

Mais d'où sortez vous ce format :
Selection.AutoFilter Field:=2, Criteria1:=Format(Range("A1"), "jj mm aa")

?
 
Bonjour Cath
Bonjour le Fil (Paf),le Forum
ceux ci peut être
VB:
Sub Macro2()
Dim Dte
Dte = Format(Range("A1"), "mm/dd/yyyy")
With Cells(4, 1)
     .AutoFilter
     .AutoFilter Field:=1, Criteria1:="A Rappeler"
     .AutoFilter Field:=2, Criteria1:=">=" & Dte, Operator:=xlAnd, Criteria2:="<=" & Dte
End With
End Sub
jean marie
 
Dernière édition:
Bonjour Chti60,

les données en colonne B sont des dates au format personnalisé "jj mm aa", et
... Format(Range("A1"), "mm/dd/yy") ne fonctionne pas correctement.

J'avais proposé au post 5:
Range("$E$5").AutoFilter Field:=2, Criteria1:=Format(Date, "dd mm yy")
qui fonctionne pour ce type d'affichage.

Je crois que arthour973 à fait un méli-mélo dans les formats à appliquer.
 
Bonjour Jean Marie, Paf, le Forum,
Bon WE à toutes et à tous,

Jean Marie : merci pour m'avoir répondu ... je vais tester 🙂

Paf : c'est bon ça marche maintenant, grâce à toi 🙂
Je crois que @arthour973 à fait un méli-mélo dans les formats à appliquer. LOL c'était ben vrai ça 😛

Je joins le fichier.
amicalement,
arthour973
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
932
Réponses
7
Affichages
98
Réponses
2
Affichages
375
Réponses
1
Affichages
392
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
387
Retour