autofilter bizarrerie

Le
Circé
Bonjour à tous,

Je rencontre un truc zarbi avec le filtre automatique, en VBA.

Sur une colonne de dates, je souhaite faire en vba un filtre
automatique qui me sort toutes les dates pour une année glissante :
donc depuis maintenant jusqu'à dans un an.

Voici le code :

Dim moncritere As Date
Dim moncritere2 As Date
moncritere = Now
moncritere2 = Now + 366
Range("BDd").AutoFilter Field:=1, Criteria1:=">" & moncritere,
Operator:=xlAnd, Criteria2:="<=" & moncritere2

Résulat de l'opération : aucune donnée trouvée !

Manuellement, je vais dans le filtre automatique, Personnalisé et je
vois mes dates qui sont pourtant bonnes. Je fais OK, et paf ! c'est
tout bon

Si vous avez une idée ça fait une heure que je suis là dessus, et ça
m'agace prodigieusement !

Merci par avance

Circé

ps pour Misange : Euh oui, disons que j'essaie de te surpasser !
C'est difficile, mais j'y arrive !! ;)))
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #5071021
bonjour Circé,

essaie avec Date au lieu de Now, car cette dernière indique également l'heure.

isabelle

Bonjour à tous,

Je rencontre un truc zarbi avec le filtre automatique, en VBA.

Sur une colonne de dates, je souhaite faire en vba un filtre automatique
qui me sort toutes les dates pour une année glissante : donc depuis
maintenant jusqu'à dans un an.

Voici le code :

Dim moncritere As Date
Dim moncritere2 As Date
moncritere = Now
moncritere2 = Now + 366
Range("BDd").AutoFilter Field:=1, Criteria1:=">" & moncritere,
Operator:=xlAnd, Criteria2:="<=" & moncritere2

Résulat de l'opération : aucune donnée trouvée !

Manuellement, je vais dans le filtre automatique, Personnalisé et je
vois mes dates qui sont pourtant bonnes. Je fais OK, et paf ! c'est tout
bon...

Si vous avez une idée... ça fait une heure que je suis là dessus, et ça
m'agace prodigieusement !

Merci par avance...

Circé

ps pour Misange : Euh... oui, disons que j'essaie de te surpasser !...
C'est difficile, mais j'y arrive !! ;)))




Daniel.C
Le #5071011
Bonjour.
Sans doute le même problème que celui que j'ai eu. Il faut mettre les dates
au format texte mois jour an :

D1 = Format(DateDebut, "MM/DD/YY")
D2 = Format(DateFin, "mm/dd/yy")
Range(Plage).AutoFilter Field:=8, Criteria1:=">=" & D1, Operator:=xlAnd,
_
Criteria2:="<=" & D2

Cordialement.
Daniel
"Circé"
Bonjour à tous,

Je rencontre un truc zarbi avec le filtre automatique, en VBA.

Sur une colonne de dates, je souhaite faire en vba un filtre automatique
qui me sort toutes les dates pour une année glissante : donc depuis
maintenant jusqu'à dans un an.

Voici le code :

Dim moncritere As Date
Dim moncritere2 As Date
moncritere = Now
moncritere2 = Now + 366
Range("BDd").AutoFilter Field:=1, Criteria1:=">" & moncritere,
Operator:=xlAnd, Criteria2:="<=" & moncritere2

Résulat de l'opération : aucune donnée trouvée !

Manuellement, je vais dans le filtre automatique, Personnalisé et je vois
mes dates qui sont pourtant bonnes. Je fais OK, et paf ! c'est tout bon...

Si vous avez une idée... ça fait une heure que je suis là dessus, et ça
m'agace prodigieusement !

Merci par avance...

Circé

ps pour Misange : Euh... oui, disons que j'essaie de te surpasser !...
C'est difficile, mais j'y arrive !! ;)))




JB
Le #5070931
Bonjour,

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

JB


On 20 nov, 16:16, Circé
Bonjour à tous,

Je rencontre un truc zarbi avec le filtre automatique, en VBA.

Sur une colonne de dates, je souhaite faire en vba un filtre
automatique qui me sort toutes les dates pour une année glissante :
donc depuis maintenant jusqu'à dans un an.

Voici le code :

Dim moncritere As Date
Dim moncritere2 As Date
moncritere = Now
moncritere2 = Now + 366
Range("BDd").AutoFilter Field:=1, Criteria1:=">" & moncritere,
Operator:=xlAnd, Criteria2:="<=" & moncritere2

Résulat de l'opération : aucune donnée trouvée !

Manuellement, je vais dans le filtre automatique, Personnalisé et je
vois mes dates qui sont pourtant bonnes. Je fais OK, et paf ! c'est
tout bon...

Si vous avez une idée... ça fait une heure que je suis là dessus, et ça
m'agace prodigieusement !

Merci par avance...

Circé

ps pour Misange : Euh... oui, disons que j'essaie de te surpasser !...
C'est difficile, mais j'y arrive !! ;)))


Circé
Le #5070921
Merci Daniel

C'était exactement ça !
Ça marche très bien...

Pour Isabelle : date et now, même combat ! ;)
Mais tu as raison, mieux vaut ne pas avoir les heures...

Circé
http://faqword.free.fr



Il se trouve que Daniel.C a formulé :
Bonjour.
Sans doute le même problème que celui que j'ai eu. Il faut mettre les dates
au format texte mois jour an :

D1 = Format(DateDebut, "MM/DD/YY")
D2 = Format(DateFin, "mm/dd/yy")
Range(Plage).AutoFilter Field:=8, Criteria1:=">=" & D1, Operator:=xlAnd,
_
Criteria2:="<=" & D2

Cordialement.
Daniel
"Circé"
Bonjour à tous,

Je rencontre un truc zarbi avec le filtre automatique, en VBA.

Sur une colonne de dates, je souhaite faire en vba un filtre automatique
qui me sort toutes les dates pour une année glissante : donc depuis
maintenant jusqu'à dans un an.

Voici le code :

Dim moncritere As Date
Dim moncritere2 As Date
moncritere = Now
moncritere2 = Now + 366
Range("BDd").AutoFilter Field:=1, Criteria1:=">" & moncritere,
Operator:=xlAnd, Criteria2:="<=" & moncritere2

Résulat de l'opération : aucune donnée trouvée !

Manuellement, je vais dans le filtre automatique, Personnalisé et je vois
mes dates qui sont pourtant bonnes. Je fais OK, et paf ! c'est tout bon...

Si vous avez une idée... ça fait une heure que je suis là dessus, et ça
m'agace prodigieusement !

Merci par avance...

Circé

ps pour Misange : Euh... oui, disons que j'essaie de te surpasser !...
C'est difficile, mais j'y arrive !! ;)))






Circé
Le #5070851
Bonjour Jacques,

Effectivement j'avais récupéré ton classeur !

Donc, ça signifie qu'il faut faire une déclaration de type Dble (ou
Long ?)

Je viens de tester de cette façon :

dim moncritere as Double
moncritere = Format(Now, "0")

et ça marche bien.

Et pis, tiens j'en profite pour te remercier car tes classeurs sont
vraiment instructifs, et j'y ai largement puisé...

Circé


JB a formulé ce mardi :
Bonjour,

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

JB


On 20 nov, 16:16, Circé
Bonjour à tous,

Je rencontre un truc zarbi avec le filtre automatique, en VBA.

Sur une colonne de dates, je souhaite faire en vba un filtre
automatique qui me sort toutes les dates pour une année glissante :
donc depuis maintenant jusqu'à dans un an.

Voici le code :

Dim moncritere As Date
Dim moncritere2 As Date
moncritere = Now
moncritere2 = Now + 366
Range("BDd").AutoFilter Field:=1, Criteria1:=">" & moncritere,
Operator:=xlAnd, Criteria2:="<=" & moncritere2

Résulat de l'opération : aucune donnée trouvée !

Manuellement, je vais dans le filtre automatique, Personnalisé et je
vois mes dates qui sont pourtant bonnes. Je fais OK, et paf ! c'est
tout bon...

Si vous avez une idée... ça fait une heure que je suis là dessus, et ça
m'agace prodigieusement !

Merci par avance...

Circé

ps pour Misange : Euh... oui, disons que j'essaie de te surpasser !...
C'est difficile, mais j'y arrive !! ;)))




MichDenis
Le #5070841
Modifier le type de tes variables aurait été suffisant :

Dim moncritere As Date
Dim moncritere2 As Date

Pour

Dim moncritere As Long
Dim moncritere2 As Long



"Circé" Bonjour à tous,

Je rencontre un truc zarbi avec le filtre automatique, en VBA.

Sur une colonne de dates, je souhaite faire en vba un filtre
automatique qui me sort toutes les dates pour une année glissante :
donc depuis maintenant jusqu'à dans un an.

Voici le code :

Dim moncritere As Date
Dim moncritere2 As Date
moncritere = Now
moncritere2 = Now + 366
Range("BDd").AutoFilter Field:=1, Criteria1:=">" & moncritere,
Operator:=xlAnd, Criteria2:="<=" & moncritere2

Résulat de l'opération : aucune donnée trouvée !

Manuellement, je vais dans le filtre automatique, Personnalisé et je
vois mes dates qui sont pourtant bonnes. Je fais OK, et paf ! c'est
tout bon...

Si vous avez une idée... ça fait une heure que je suis là dessus, et ça
m'agace prodigieusement !

Merci par avance...

Circé

ps pour Misange : Euh... oui, disons que j'essaie de te surpasser !...
C'est difficile, mais j'y arrive !! ;)))
Circé
Le #5070751
MichDenis a présenté l'énoncé suivant :
Modifier le type de tes variables aurait été suffisant :

Dim moncritere As Date
Dim moncritere2 As Date

Pour

Dim moncritere As Long
Dim moncritere2 As Long


Exact !
C'est encore plus simple

Y a quand même une chose qui m'échappe : c'est pourquoi dans la boîte
de dialogue les dates sont correctes et lorsqu'on appuie sur OK, ça
fonctionne ? Et pourquoi la macro ne le fait pas ?

Circé



"Circé" Bonjour à tous,

Je rencontre un truc zarbi avec le filtre automatique, en VBA.

Sur une colonne de dates, je souhaite faire en vba un filtre
automatique qui me sort toutes les dates pour une année glissante :
donc depuis maintenant jusqu'à dans un an.

Voici le code :

Dim moncritere As Date
Dim moncritere2 As Date
moncritere = Now
moncritere2 = Now + 366
Range("BDd").AutoFilter Field:=1, Criteria1:=">" & moncritere,
Operator:=xlAnd, Criteria2:="<=" & moncritere2

Résulat de l'opération : aucune donnée trouvée !

Manuellement, je vais dans le filtre automatique, Personnalisé et je
vois mes dates qui sont pourtant bonnes. Je fais OK, et paf ! c'est
tout bon...

Si vous avez une idée... ça fait une heure que je suis là dessus, et ça
m'agace prodigieusement !

Merci par avance...

Circé

ps pour Misange : Euh... oui, disons que j'essaie de te surpasser !...
C'est difficile, mais j'y arrive !! ;)))


MichDenis
Le #5070721
Quand tu es dans une fenêtre de l'éditeur de code,
tu dois parler AMÉRICAIN (anglais) ... lorsque tu es
dans l'interface de la feuille de calcul, excel s'adapte
selon les paramètres régionnaux définis dans le panneau
de configuration.

Par exemple si tu aurais désiré utilisé la fonction Now(), tu
aurais pu faire ceci :

Dim MaDate As String

'S'assurer qu'il n'y a pas de virgule dans la chaîne MaDate
'ce que fait la fonction Replace()
MaDate = Replace((Now() + 2) * 1, ",", ".")

(Now() + 2) * 1
'Opération mathématique " *1 " transforme la chaîne "la date : 20/11/2007 13:05:30"
'en sa valeur numérique 39406,5497851852 et replace remplace la virgule par le point

à la fin du processus ressemble à quelque chose du genre
MaDate = "39406.5497851852" et ça marche !!! ;-)))

Range("A1:A20").AutoFilter Field:=1, Criteria1:=">" & MaDate






"Circé" MichDenis a présenté l'énoncé suivant :
Modifier le type de tes variables aurait été suffisant :

Dim moncritere As Date
Dim moncritere2 As Date

Pour

Dim moncritere As Long
Dim moncritere2 As Long


Exact !
C'est encore plus simple

Y a quand même une chose qui m'échappe : c'est pourquoi dans la boîte
de dialogue les dates sont correctes et lorsqu'on appuie sur OK, ça
fonctionne ? Et pourquoi la macro ne le fait pas ?

Circé



"Circé" Bonjour à tous,

Je rencontre un truc zarbi avec le filtre automatique, en VBA.

Sur une colonne de dates, je souhaite faire en vba un filtre
automatique qui me sort toutes les dates pour une année glissante :
donc depuis maintenant jusqu'à dans un an.

Voici le code :

Dim moncritere As Date
Dim moncritere2 As Date
moncritere = Now
moncritere2 = Now + 366
Range("BDd").AutoFilter Field:=1, Criteria1:=">" & moncritere,
Operator:=xlAnd, Criteria2:="<=" & moncritere2

Résulat de l'opération : aucune donnée trouvée !

Manuellement, je vais dans le filtre automatique, Personnalisé et je
vois mes dates qui sont pourtant bonnes. Je fais OK, et paf ! c'est
tout bon...

Si vous avez une idée... ça fait une heure que je suis là dessus, et ça
m'agace prodigieusement !

Merci par avance...

Circé

ps pour Misange : Euh... oui, disons que j'essaie de te surpasser !...
C'est difficile, mais j'y arrive !! ;)))


MichDenis
Le #5070601
si tu aurais désiré utilisé

par

Si tu avais désiré...
Mgr Banni
Le #5070541
encore mieux :

si tu avais désiré utiliser.....

'tain, y a des ave et des pater qui vont tomber, hein m'man?

Mgr T.B.

"MichDenis"
si tu aurais désiré utilisé

par

Si tu avais désiré...





Publicité
Poster une réponse
Anonyme