Filtre par date sur vba

Tiestof -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je sohaite faire un filtre sur une colone, pour ne garder que les date diffréentes de la date du jour.

j'ai utilisé le code suivant mais cela ne marche pas

Dim dat
dat = Date

Selection.AutoFilter Field:=21, Criteria1:="<> date", Operator:= _
xlAnd

jai l'impression qu'il ne reconnait pas la variable date.
Avez vous une autres solution

Merci



A voir également:

8 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
Essaye avec...
Selection.AutoFilter Field:=21, Criteria1:="<>" & date, Operator:= xlAnd 

A+
0
tiestof
 
Bonjour,
Ca ne marche pas , pouvez vous m'aider avec une autre fonction VBA.

Merci
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

en Complement de Lermite

Criteria1:="<>" & CLng(Date)

ou

Criteria1:="<>" & Date * 1

ou

Criteria1:="<>" & Format(Date, "m/d/yy")

mais pas Date ou une variable sans conversion

Bonne suite
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour fxxx
Mais il faudrait savoir la version d'Excel.
Totalement différent entre 97-2003 et => 2007
Dans 2007 il est question de Aujourd'hui avec l'apostrophe !!
Suis occupé avec des recherches similaires et filtrer des dates avec les nouvelles versions est fort ardu sinon impossible.
A+
Edit : si c'est 2007 essaye..
 ActiveSheet.Range("$B$3:$D$21").AutoFilter Field:=21, Criteria1:= _
        xlFilterToday, Operator:=xlFilterDynamic

Adapter la plage
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour lermite,

Bien que j'utilise 2007, je donne souvent une solution passe partout, mais je note l'evolution sur 2007.
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Youpie... Euréka..
Ca fait .... que je cherche.
    d = Month(Date) & "/" & Day(Date) & "/" & Year(Date)
 
    ActiveSheet.Range("$B$3:$D$53").AutoFilter Field:=21, Criteria1:= _
       "<>" & d, Operator:=xlAnd


Inversion Jour/mois, ça faisait déjà un petit temps que je cherchais dans ce sens mais je n'avais pas trouver la façon de faire, je mettais toujours ça en date.
Et ça marche aussi avec deux critères

Dim DatDeb As String
Dim DatFin As String
    DatDeb = "02/12/2012"
    DatFin = "02/22/2012"
    ActiveSheet.Range("$B$3:$D$53").AutoFilter Field:=3, Criteria1:= _
       ">=" & DatDeb, Operator:=xlAnd, Criteria2:="<=" & DatFin


Suis content de moi (petit sourire en coin)
A+
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,
Au moins une personne presque heureuse aujourd'hui.....
0
Tiestof
 
J'ai essayé toutes vos propositions mais, le filtre ne s'applique pas
Voici le code que j'ai saisi, je me suis peu êre trompé quelque part.

On fait, je souhaite faire un premier filtre sur une colonne

Dim datjour
datjour = Date

Selection.AutoFilter

Sheets("Feuil1").Select
Selection.AutoFilter Field:=5, Criteria1:="<>régularisé", Operator:=xlAnd _
, Criteria2:="<>En échec"
Selection.AutoFilter Field:=21, Criteria1:="<>" & Format(Date, "dd/mm/yyyy")

Merci pour votre aide.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

ActiveSheet.Range("$A$1:$A$7").AutoFilter Field:=1, Operator:= _
xlFilterValues, Criteria1:="<>" & Date * 1

ActiveSheet.Range("$A$1:$A$7").AutoFilter Field:=1, Operator:= _
xlFilterValues, Criteria1:="<>" & CLng(Date)

Ces deux tests marchent. Celui avec le format date ne marche pas. Mais dans tous les cas il y a une selection de cellules.

A+
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Re,
Fxx, tu aurais pu montrer ça plutôt... (c'est pour rire). Merci, j'ai jamais pensé à cette solution.

Et peut-être que je bloque aussi bêtement sur ....
    ActiveSheet.Range("$B$3:$D$53").AutoFilter
    ActiveSheet.Range("$B$3:$D$53").AutoFilter Field:=3, Operator:= _
        xlFilterValues, Criteria2:=Array(2, "2/1/2012", 2, "2/2/2012", 2, "2/6/2012", 2, _
        "2/7/2012", 2, "2/8/2012", 2, "2/9/2012", 2, "2/10/2012", 2, "2/11/2012", 2, "2/12/2012", _
         2, "2/15/2012", 2, "2/16/2012", 2, "2/17/2012", 2, _
        "2/18/2012", 2, "2/19/2012", 2, "2/20/2012", 2, "2/21/2012", 2, "2/22/2012", 2, _
        "2/23/2012", 2, "2/24/2012", 2, "2/25/2012", 2, "2/26/2012", 2, "2/27/2012", 2, _
        "2/28/2012", 2, "2/29/2012", 1, "3/21/2012")

Excel 2007 : Je parvient pas à lire le contenu de criteria2 ? et Criteria1 n'est pas présent ?
Tu aurais une idée ?
A+
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour lermite,

Fxx, tu aurais pu montrer ça plutôt... (c'est pour rire). Merci, j'ai jamais pensé à cette solution.
Disont que personne ne l'avait demande jusqu'a maintenant. Pour la solution, c'est en cherchant que de parfois la lumiere s'allume et surtout si on en a vraiment besoin. Cela se fait souvent dans la douleur, mais bon....

Pour ton exemple, je vais regarder.

A+
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour lermite
Lecture critere filtre 2007/2010:
Filtre sur date--->normal qu'il n'y ait pas de criteria1 et criteria2 devient un tableau non lisible. J'ai ete voir du cote des US, meme eusse n'ont pas trouve de solution.
Je continue a chercher de temps en temps, des fois qu'il en ait un plus fous que les autres.
0