Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA filtre avancé

3 réponses
Avatar
msnews.microsoft.com
Bonjour,
J'ai un problème de filtrage sur les dates sous Excel 2007.
Je souhaite afficher toutes les lignes comportant une date supérieure au
10/09/2007.
En créant le filtre à l'aide du ruban je mets comme critère >10/09/2007 et
le filtrage se fait correctement.
Par contre en VBA, avec le même critère de recherche sur la même zone il n'y
a pas de sélection, toutes les lignes disparaissent.
J'utilise :
Range("B4:B34").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("B1:B2"), Unique:=False

En supprimant le caractère plus grand que ">" le filtre VBA fonctionne
correctement, il semble donc que ce soit l'écriture du > ou < qui pose
problème.
Merci de votre aide.
Jd

3 réponses

Avatar
JB
Bonjour,

http://boisgontierjacques.free.fr/pages_site/FiltreAuto.htm#FiltreDates

Filtre >Úte:

Il faut inverser jour et mois ou utiliser Cdbl().

Sub filtreSup1Date()
[A5].AutoFilter field:=5, Criteria1:=">=" &
CDbl(CDate("21/10/1970"))
ou [A5].AutoFilter field:=5, Criteria1:=">=" & "10/21/1970"
ou [A5].AutoFilter field:=5, Criteria1:=">=" & CDbl(Range("A2"))
ou [A5].AutoFilter field:=5, Criteria1:=">=" & Format(Range("A2"),
"mm/dd/yyyy")
ou [A5].AutoFilter field:=5, Criteria1:=">=" &
CDbl(CDate("21/10/1970") + 30)
ou [A5].AutoFilter field:=5, Criteria1:=">=" & CDbl(Date)
ou [A5].AutoFilter field:=5, Criteria1:=">=" & Format(Date, "mm/dd/
yyyy")
ou [A5].AutoFilter field:=5, Criteria1:=">=" & CDbl(Date + 30)
End Sub



JB
http://boisgontierjacques.free.fr

On 17 sep, 14:38, "msnews.microsoft.com" wrote:
Bonjour,
J'ai un problème de filtrage sur les dates sous Excel 2007.
Je souhaite afficher toutes les lignes comportant une date supérieure au
10/09/2007.
En créant le filtre à l'aide du ruban je mets comme critère >10/09/ 2007 et
le filtrage se fait correctement.
Par contre en VBA, avec le même critère de recherche sur la même zo ne il n'y
a pas de sélection, toutes les lignes disparaissent.
J'utilise :
Range("B4:B34").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange: = _
Range("B1:B2"), Unique:úlse

En supprimant le caractère plus grand que ">" le filtre VBA fonctionne
correctement, il semble donc que ce soit l'écriture du > ou < qui pose
problème.
Merci de votre aide.
Jd


Avatar
msnews.microsoft.com
Merci pour cette réponse rapide, le problème est résolu.
JD



"JB" a écrit dans le message de
news:
Bonjour,

http://boisgontierjacques.free.fr/pages_site/FiltreAuto.htm#FiltreDates

Filtre >Úte:

Il faut inverser jour et mois ou utiliser Cdbl().

Sub filtreSup1Date()
[A5].AutoFilter field:=5, Criteria1:=">=" &
CDbl(CDate("21/10/1970"))
ou [A5].AutoFilter field:=5, Criteria1:=">=" & "10/21/1970"
ou [A5].AutoFilter field:=5, Criteria1:=">=" & CDbl(Range("A2"))
ou [A5].AutoFilter field:=5, Criteria1:=">=" & Format(Range("A2"),
"mm/dd/yyyy")
ou [A5].AutoFilter field:=5, Criteria1:=">=" &
CDbl(CDate("21/10/1970") + 30)
ou [A5].AutoFilter field:=5, Criteria1:=">=" & CDbl(Date)
ou [A5].AutoFilter field:=5, Criteria1:=">=" & Format(Date, "mm/dd/
yyyy")
ou [A5].AutoFilter field:=5, Criteria1:=">=" & CDbl(Date + 30)
End Sub



JB
http://boisgontierjacques.free.fr

On 17 sep, 14:38, "msnews.microsoft.com" wrote:
Bonjour,
J'ai un problème de filtrage sur les dates sous Excel 2007.
Je souhaite afficher toutes les lignes comportant une date supérieure au
10/09/2007.
En créant le filtre à l'aide du ruban je mets comme critère >10/09/2007 et
le filtrage se fait correctement.
Par contre en VBA, avec le même critère de recherche sur la même zone il
n'y
a pas de sélection, toutes les lignes disparaissent.
J'utilise :
Range("B4:B34").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("B1:B2"), Unique:úlse

En supprimant le caractère plus grand que ">" le filtre VBA fonctionne
correctement, il semble donc que ce soit l'écriture du > ou < qui pose
problème.
Merci de votre aide.
Jd


Avatar
JB
Je n'avais pas vu qu'il s'agissait du filtre élaboré (qui ne pose pas
de pb en 2003).
En 2007, avec VBA, il faut inverser jour et mois dans le critère.

10/15/60


ou utiliser un critère formule:

â>DATE(1960;10;15)

http://boisgontierjacques.free.fr/pages_site/FiltreElabore.htm#critereformu le

JB

On 17 sep, 15:01, JB wrote:
Bonjour,

http://boisgontierjacques.free.fr/pages_site/FiltreAuto.htm#FiltreDates

Filtre >Úte:

Il faut inverser jour et mois ou utiliser Cdbl().

Sub filtreSup1Date()
[A5].AutoFilter field:=5, Criteria1:=">=" &
CDbl(CDate("21/10/1970"))
ou [A5].AutoFilter field:=5, Criteria1:=">=" & "10/21/1970"
ou [A5].AutoFilter field:=5, Criteria1:=">=" & CDbl(Range("A2"))
ou [A5].AutoFilter field:=5, Criteria1:=">=" & Format(Range("A2"),
"mm/dd/yyyy")
ou [A5].AutoFilter field:=5, Criteria1:=">=" &
CDbl(CDate("21/10/1970") + 30)
ou [A5].AutoFilter field:=5, Criteria1:=">=" & CDbl(Date)
ou [A5].AutoFilter field:=5, Criteria1:=">=" & Format(Date, "mm/d d/
yyyy")
ou [A5].AutoFilter field:=5, Criteria1:=">=" & CDbl(Date + 30)
End Sub

JBhttp://boisgontierjacques.free.fr

On 17 sep, 14:38, "msnews.microsoft.com" wrote:



Bonjour,
J'ai un problème de filtrage sur les dates sous Excel 2007.
Je souhaite afficher toutes les lignes comportant une date supérieure au
10/09/2007.
En créant le filtre à l'aide du ruban je mets comme critère >10/0 9/2007 et
le filtrage se fait correctement.
Par contre en VBA, avec le même critère de recherche sur la même zone il n'y
a pas de sélection, toutes les lignes disparaissent.
J'utilise :
Range("B4:B34").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange := _
Range("B1:B2"), Unique:úlse

En supprimant le caractère plus grand que ">" le filtre VBA fonctionne
correctement, il semble donc que ce soit l'écriture du > ou < qui pose
problème.
Merci de votre aide.
Jd- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -