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

autofilter bizarrerie

12 réponses
Avatar
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 !! ;)))

10 réponses

1 2
Avatar
isabelle
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 !! ;)))




Avatar
Daniel.C
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é" a écrit dans le message de news:

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 !! ;)))




Avatar
JB
Bonjour,

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

JB


On 20 nov, 16:16, Circé wrote:
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 !! ;)))


Avatar
Circé
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é" a écrit dans le message de news:

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 !! ;)))






Avatar
Circé
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é wrote:
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 !! ;)))




Avatar
MichDenis
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é" a écrit dans le message de news:
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 !! ;)))
Avatar
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é" a écrit dans le message de news:
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 !! ;)))


Avatar
MichDenis
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é" a écrit dans le message de news:
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é" a écrit dans le message de news:
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 !! ;)))


Avatar
MichDenis
si tu aurais désiré utilisé

par

Si tu avais désiré...
Avatar
Mgr Banni
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" a écrit dans le message de news:

si tu aurais désiré utilisé

par

Si tu avais désiré...





1 2