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

re:toujours pb avec filtre sur date

1 réponse
Avatar
christophe
RE A TOUS

Tout d'abord merci pour votre aide

par contre j'ai essaie toutes les méthodes que vous m'avez donné mais quand
je lance le filtre il ne me trouve rien
et meme si je lui donne une date1 correspondant a une date bien precise et
existant dans la lsite des dates et idem pour la date de fin il ne trouve
rien
alors la c'est le trou NOIR et je vois pas ce qui ne marche pas !!!!

Dim date1 As Date, date2 As Date, date3 As Date, date4 As Date
'mise en forme des dates
If Dat <> "" Then
date1 = DateSerial(Right(Dat.Value, 4), _
Mid(Dat.Value, 3, 2), Left(Dat.Value, 2))
date3 = CDate(date1)
End If
If dat1 <> "" Then
date2 = DateSerial(Right(dat1.Value, 4), Mid(dat1.Value, 3, 2),
Left(dat1.Value, 2))
date4 = CDate(date2)
ElseIf Dat <> "" And dat1 = "" Then
date2 = Date
date4 = CDate(date2)
End If
ElseIf Dat <> "" And dom = "" And loc1 = "" And catloc = "" Then ' choix
sur bat et date
Set Rg =
Selection.Range("T2:T" & Range("t65536").End(xlUp).Row)
Rg.NumberFormat = "dd/mm/yy;@"
Selection.AutoFilter
Field:=20, Criteria1:=">=" & Format(date3, "dd/mm/yyyy"), Operator:=xlAnd, _
Criteria2:="<="
& Format(date4, "dd/mm/yyyy")


question que je me pose , cela créer ti'l un probleme que d'autre filtre
soit actif?




Question

bonjour a vous tous

j'ai un filtre avec date mais quand je lance la macro rien ne s'affiche

voici mon code

Dim date1 As Date, date2 As Date, date3 As Date, date4 As Date
If Dat <> "" Then
date1 = DateSerial(Right(Dat.Value, 4), _
Mid(Dat.Value, 3, 2), Left(Dat.Value, 2))
date3 = CDate(date1)
End If
If dat1 <> "" Then
date2 = DateSerial(Right(dat1.Value, 4), Mid(dat1.Value, 3, 2),
Left(dat1.Value, 2))
date4 = CDate(date2)
End If
ElseIf Dat <> "" And dom = "" And loc1 = "" And catloc = "" And dat1 <> ""
Then
Selection.AutoFilter
Field:=20, Criteria1:=">=" & DateValue(date3) * 1, Operator:=xlAnd, _
Criteria2:="<="
& DateValue(date4) * 1



où est le bleme ???????????????


Cet article vous a-t-il été utile ?
Répondre Haut





Daniel 26/10/2005 06:38 PST



Bonjour.
Essaie en mettant le format de tes dates à mm/jj/aaaa dans la macro; c'est
parfaitement irrationnel mais ça marche :
Date1= Format(Date1, "MM/DD/YYYY")
Cordialement.
Daniel
"christophe" <cgrosjean@europarl.eu.int> a écrit dans le message de news:
FCDF330E-2F7D-4FE3-A84C-4EA3609F9FAC@microsoft.com...

Développer/réduire le sujet


> bonjour a vous tous
>
> j'ai un filtre avec date mais quand je lance la macro rien ne s'affiche
>
> voici mon code
>
> Dim date1 As Date, date2 As Date, date3 As Date, date4 As Date
> If Dat <> "" Then
> date1 = DateSerial(Right(Dat.Value, 4), _
> Mid(Dat.Value, 3, 2), Left(Dat.Value, 2))
> date3 = CDate(date1)
> End If
> If dat1 <> "" Then
> date2 = DateSerial(Right(dat1.Value, 4), Mid(dat1.Value, 3, 2),
> Left(dat1.Value, 2))
> date4 = CDate(date2)
> End If
> ElseIf Dat <> "" And dom = "" And loc1 = "" And catloc = "" And dat1 <>
> ""
> Then
> Selection.AutoFilter
> Field:=20, Criteria1:=">=" & DateValue(date3) * 1, Operator:=xlAnd, _
> Criteria2:="<="
> & DateValue(date4) * 1
>
>
>
> où est le bleme ???????????????



Cet article a-t-il répondu à la question ?
Répondre Haut





Ange Ounis 26/10/2005 10:34 PST



Essaye en remplaçant
DateValue(date3) * 1 par CLng(date3) et
DateValue(date4) * 1 par CLng(date4)

----------
Ange Ounis
----------

christophe a écrit :

Développer/réduire le sujet


> bonjour a vous tous
>
> j'ai un filtre avec date mais quand je lance la macro rien ne s'affiche
>
> voici mon code
>
> Dim date1 As Date, date2 As Date, date3 As Date, date4 As Date
> If Dat <> "" Then
> date1 = DateSerial(Right(Dat.Value, 4), _
> Mid(Dat.Value, 3, 2), Left(Dat.Value, 2))
> date3 = CDate(date1)
> End If
> If dat1 <> "" Then
> date2 = DateSerial(Right(dat1.Value, 4), Mid(dat1.Value, 3, 2),
> Left(dat1.Value, 2))
> date4 = CDate(date2)
> End If
> ElseIf Dat <> "" And dom = "" And loc1 = "" And catloc = "" And dat1 <> ""
> Then
> Selection.AutoFilter
> Field:=20, Criteria1:=">=" & DateValue(date3) * 1, Operator:=xlAnd, _
> Criteria2:="<="
> & DateValue(date4) * 1
>
>
>
> où est le bleme ???????????????



Cet article a-t-il répondu à la question ?
Répondre Haut





michdenis 26/10/2005 13:48 PST



Bonjour Christophe,

A )
La difficulté première est de s'assurer que la date saisie dans un textbox
représente bien la date désirée, que l'usager n'a pas
intervertit les jours et les mois !


3 syntaxes qui devraient fonctionner :

Évidemment, tu devras les adapter à ton code...
'----------------------------------
Dim Date1 as date
Dim Date2 as date

Date1 = cdate("10-oct-05")
Date2 = cdate("20-nov-05")

Selection.AutoFilter Field:=5, Criteria1=">=" & CLng(date1), Operator:=xlAnd
_
, Criteria2:="<=" & CLng(date2)

Selection.AutoFilter Field:=5, Criteria1=">=" & date1 *1, Operator:=xlAnd _
, Criteria2:="<=" & date2 *1

Selection.AutoFilter Field:=5, Criteria1=">=" & & Format(date1, "m/d/yy"), _
Operator:=xlAnd , Criteria2:="<=" & & Format(date2, "m/d/yy")
'----------------------------------


Salutations!

1 réponse

Avatar
michdenis
Voir message précédent, tu pourras y télécharger un fichier exemple.

Salutations!



"christophe" a écrit dans le message de news:
RE A TOUS

Tout d'abord merci pour votre aide

par contre j'ai essaie toutes les méthodes que vous m'avez donné mais quand
je lance le filtre il ne me trouve rien
et meme si je lui donne une date1 correspondant a une date bien precise et
existant dans la lsite des dates et idem pour la date de fin il ne trouve
rien
alors la c'est le trou NOIR et je vois pas ce qui ne marche pas !!!!

Dim date1 As Date, date2 As Date, date3 As Date, date4 As Date
'mise en forme des dates
If Dat <> "" Then
date1 = DateSerial(Right(Dat.Value, 4), _
Mid(Dat.Value, 3, 2), Left(Dat.Value, 2))
date3 = CDate(date1)
End If
If dat1 <> "" Then
date2 = DateSerial(Right(dat1.Value, 4), Mid(dat1.Value, 3, 2),
Left(dat1.Value, 2))
date4 = CDate(date2)
ElseIf Dat <> "" And dat1 = "" Then
date2 = Date
date4 = CDate(date2)
End If
ElseIf Dat <> "" And dom = "" And loc1 = "" And catloc = "" Then ' choix
sur bat et date
Set Rg Selection.Range("T2:T" & Range("t65536").End(xlUp).Row)
Rg.NumberFormat = "dd/mm/yy;@"
Selection.AutoFilter
Field: , Criteria1:=">=" & Format(date3, "dd/mm/yyyy"), Operator:=xlAnd, _
Criteria2:="<="
& Format(date4, "dd/mm/yyyy")


question que je me pose , cela créer ti'l un probleme que d'autre filtre
soit actif?




Question

bonjour a vous tous

j'ai un filtre avec date mais quand je lance la macro rien ne s'affiche

voici mon code

Dim date1 As Date, date2 As Date, date3 As Date, date4 As Date
If Dat <> "" Then
date1 = DateSerial(Right(Dat.Value, 4), _
Mid(Dat.Value, 3, 2), Left(Dat.Value, 2))
date3 = CDate(date1)
End If
If dat1 <> "" Then
date2 = DateSerial(Right(dat1.Value, 4), Mid(dat1.Value, 3, 2),
Left(dat1.Value, 2))
date4 = CDate(date2)
End If
ElseIf Dat <> "" And dom = "" And loc1 = "" And catloc = "" And dat1 <> ""
Then
Selection.AutoFilter
Field: , Criteria1:=">=" & DateValue(date3) * 1, Operator:=xlAnd, _
Criteria2:="<="
& DateValue(date4) * 1



où est le bleme ???????????????


Cet article vous a-t-il été utile ?
Répondre Haut





Daniel 26/10/2005 06:38 PST



Bonjour.
Essaie en mettant le format de tes dates à mm/jj/aaaa dans la macro; c'est
parfaitement irrationnel mais ça marche :
Date1= Format(Date1, "MM/DD/YYYY")
Cordialement.
Daniel
"christophe" a écrit dans le message de news:


Développer/réduire le sujet


bonjour a vous tous

j'ai un filtre avec date mais quand je lance la macro rien ne s'affiche

voici mon code

Dim date1 As Date, date2 As Date, date3 As Date, date4 As Date
If Dat <> "" Then
date1 = DateSerial(Right(Dat.Value, 4), _
Mid(Dat.Value, 3, 2), Left(Dat.Value, 2))
date3 = CDate(date1)
End If
If dat1 <> "" Then
date2 = DateSerial(Right(dat1.Value, 4), Mid(dat1.Value, 3, 2),
Left(dat1.Value, 2))
date4 = CDate(date2)
End If
ElseIf Dat <> "" And dom = "" And loc1 = "" And catloc = "" And dat1 <>
""
Then
Selection.AutoFilter
Field: , Criteria1:=">=" & DateValue(date3) * 1, Operator:=xlAnd, _
Criteria2:="<="
& DateValue(date4) * 1



où est le bleme ???????????????




Cet article a-t-il répondu à la question ?
Répondre Haut





Ange Ounis 26/10/2005 10:34 PST



Essaye en remplaçant
DateValue(date3) * 1 par CLng(date3) et
DateValue(date4) * 1 par CLng(date4)

----------
Ange Ounis
----------


Développer/réduire le sujet


bonjour a vous tous

j'ai un filtre avec date mais quand je lance la macro rien ne s'affiche

voici mon code

Dim date1 As Date, date2 As Date, date3 As Date, date4 As Date
If Dat <> "" Then
date1 = DateSerial(Right(Dat.Value, 4), _
Mid(Dat.Value, 3, 2), Left(Dat.Value, 2))
date3 = CDate(date1)
End If
If dat1 <> "" Then
date2 = DateSerial(Right(dat1.Value, 4), Mid(dat1.Value, 3, 2),
Left(dat1.Value, 2))
date4 = CDate(date2)
End If
ElseIf Dat <> "" And dom = "" And loc1 = "" And catloc = "" And dat1 <> ""
Then
Selection.AutoFilter
Field: , Criteria1:=">=" & DateValue(date3) * 1, Operator:=xlAnd, _
Criteria2:="<="
& DateValue(date4) * 1



où est le bleme ???????????????




Cet article a-t-il répondu à la question ?
Répondre Haut





michdenis 26/10/2005 13:48 PST



Bonjour Christophe,

A )
La difficulté première est de s'assurer que la date saisie dans un textbox
représente bien la date désirée, que l'usager n'a pas
intervertit les jours et les mois !


3 syntaxes qui devraient fonctionner :

Évidemment, tu devras les adapter à ton code...
'----------------------------------
Dim Date1 as date
Dim Date2 as date

Date1 = cdate("10-oct-05")
Date2 = cdate("20-nov-05")

Selection.AutoFilter Field:=5, Criteria1=">=" & CLng(date1), Operator:=xlAnd
_
, Criteria2:="<=" & CLng(date2)

Selection.AutoFilter Field:=5, Criteria1=">=" & date1 *1, Operator:=xlAnd _
, Criteria2:="<=" & date2 *1

Selection.AutoFilter Field:=5, Criteria1=">=" & & Format(date1, "m/d/yy"), _
Operator:=xlAnd , Criteria2:="<=" & & Format(date2, "m/d/yy")
'----------------------------------


Salutations!