[Resolu en VBA] - Filtre avancé, utiliser >= et <=

CPk

XLDnaute Impliqué
Bonjour, j'ai un gros trou de mémoire. J'ai déjà vu une solution quelque part mais impossible de me rappeler ou.

Dans la feuille Histofilter A2 et B2 ont un menu déroulant qui servent de critères pour un filtre avancé.
Comme c'est une plage de donné que je veux en résultat, je ne me souviens plus comment faire pour ajouter ">=" à la cellule A2 et "<=" à la cellule B2.

Par avance merci de vos lumières.
 

Pièces jointes

  • Cardio-bck.zip
    261.4 KB · Affichages: 40
Dernière modification par un modérateur:

job75

XLDnaute Barbatruc
Re : Filtre avancé, utiliser >= et <=

Bonjour CPK,

Code:
Sub FiltreAvancé()
Dim F1 As Worksheet, F2 As Worksheet, critere As Range
Set F1 = Sheets("histo")
Set F2 = Sheets("HistoFilter")
Set critere = F2.[C1:C2]
critere(2) = "=AND(ROUND(histo!A2,6)>=ROUND(A$2,6),ROUND(histo!A2,6)<=ROUND(B$2,6))"
F1.[A1].CurrentRegion.AdvancedFilter xlFilterCopy, critere, F2.[A5:G5]
'critere = "" 'facultatif
F2.Activate
End Sub
Comme vous le voyez le critère est en HistoFilter!C2.

La fonction ARRONDI/ROUND est nécessaire quand il s'agit de comparer des heures.

A+
 

job75

XLDnaute Barbatruc
Re : [Resolu en VBA] - Filtre avancé, utiliser >= et <=

Re,

Enlevez les ROUND de la formule : vous ne récupérerez pas la ligne avec 00:22:00 :rolleyes:

C'est dû au fait que dans les comparaisons d'heures les dernières décimales (15ème, voire 14ème) peuvent être différentes.

A+
 

Discussions similaires

Réponses
16
Affichages
551
Réponses
12
Affichages
592

Statistiques des forums

Discussions
314 450
Messages
2 109 730
Membres
110 553
dernier inscrit
loic55