VBA filtre avancé

Le
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:ú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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4746781
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"
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


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



"JB" 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"
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


JB
Le #4746751
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
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"


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 -



Publicité
Poster une réponse
Anonyme