Filtre par date sur vba

Tiestof -  
f894009 Messages postés 17417 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

8 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Essaye avec...
    Selection.AutoFilter Field:=21, Criteria1:="<>" & date, Operator:= xlAnd 

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

    Merci
    0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour lermite,

    Bien que j'utilise 2007, je donne souvent une solution passe partout, mais je note l'evolution sur 2007.
    0
  7. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Au moins une personne presque heureuse aujourd'hui.....
      0
    2. 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
  8. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  9. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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