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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
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:
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 ???????????????
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...
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
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:
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 ???????????????
Ange Ounis
Essaye en remplaçant DateValue(date3) * 1 par CLng(date3) et DateValue(date4) * 1 par CLng(date4)
---------- Ange Ounis ----------
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 ???????????????
Essaye en remplaçant
DateValue(date3) * 1 par CLng(date3) et
DateValue(date4) * 1 par CLng(date4)
----------
Ange Ounis
----------
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
Essaye en remplaçant DateValue(date3) * 1 par CLng(date3) et DateValue(date4) * 1 par CLng(date4)
---------- Ange Ounis ----------
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 ???????????????
michdenis
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
"christophe" a écrit dans le message de news: 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 ???????????????
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
"christophe" <cgrosjean@europarl.eu.int> a écrit dans le message de news: FCDF330E-2F7D-4FE3-A84C-4EA3609F9FAC@microsoft.com...
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
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
"christophe" a écrit dans le message de news: 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 ???????????????
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: , 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?
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
"christophe" a écrit dans le message de news: 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 ???????????????
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?
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
"christophe" <cgrosjean@europarl.eu.int> a écrit dans le message de news: FCDF330E-2F7D-4FE3-A84C-4EA3609F9FAC@microsoft.com...
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
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?
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
"christophe" a écrit dans le message de news: 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 ???????????????
michdenis
Bonjour Christophe,
Tu as un fichier exemple illustrant les 3 méthodes décrites dans mon message précédent.
http://cjoint.com/?kBpm0UExCA
Ces méthodes s'appliquent seulement dans les cas où tu utilises les opérateurs > ou < ou >= ou <= dans tes critères. Elles sont inopérantes si tu utilises seulement l'opérateur "="
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?
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
"christophe" a écrit dans le message de news: 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 ???????????????
Bonjour Christophe,
Tu as un fichier exemple illustrant les 3 méthodes décrites dans mon message précédent.
http://cjoint.com/?kBpm0UExCA
Ces méthodes s'appliquent seulement dans les cas où tu utilises les opérateurs > ou < ou >= ou <= dans tes critères.
Elles sont inopérantes si tu utilises seulement l'opérateur "="
Salutations!
"christophe" <cgrosjean@europarl.eu.int> a écrit dans le message de news: 0C30BCFE-D3C3-4233-BA5F-323E5306D404@microsoft.com...
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?
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
"christophe" <cgrosjean@europarl.eu.int> a écrit dans le message de news: FCDF330E-2F7D-4FE3-A84C-4EA3609F9FAC@microsoft.com...
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
Tu as un fichier exemple illustrant les 3 méthodes décrites dans mon message précédent.
http://cjoint.com/?kBpm0UExCA
Ces méthodes s'appliquent seulement dans les cas où tu utilises les opérateurs > ou < ou >= ou <= dans tes critères. Elles sont inopérantes si tu utilises seulement l'opérateur "="
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?
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
"christophe" a écrit dans le message de news: 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