IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

filtre sur cellule Date


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    985
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 985
    Par défaut filtre sur cellule Date
    Bonjour au Forum ,

    Je sollicite votre aide car je n'arrive pas à comprendre les subtilités d'excel en matière de date je m'explique
    en effet , dans mon appli
    1 ) je rentre une date dans la table 1 au moyen d'un userform
    userform "toto" => champ date de mise à jour dans table1 = dateNow :
    çà donne ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateNow = Format(Now(), "dd/mm/yyyy")
    2) ensuite à partir d'un autre userform "tata"
    je sélectionne le champ de la table1 sous cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    With .Range("A2:J" & LastLig)
         .AutoFilter Field:=1, Criteria1:=ComboBox1
         .AutoFilter Field:=2, Criteria1:=ComboBox2
         .AutoFilter Field:=7, Criteria1:=CDate(ComboBox3) <= champ date de mise à jour
    End With
    et là il ne retrouve pas la date selectionnée pourtant dans la table1
    j'ai bien la cellule avec la date concernée

    merci par avance , votre aide me serait très precieuse
    A+

  2. #2
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Bonjour,
    l'enregistreur de macro donne ceci (il faut adapter):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.Range("$C$1:$C$6").AutoFilter Field:=1, Operator:= _
            xlFilterValues, Criteria2:=Array(2, "10/21/2010")
    tu remarques le format de la date et le fait qu'il utilise un array.

    donc en adaptant ce devrait être comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    nvdate = Format(Me.ComboBox1.Value, "MM/DD/YYYY")
    With .Range("A2:J" & LastLig)
         .AutoFilter Field:=1, Criteria1:=ComboBox1
         .AutoFilter Field:=2, Criteria1:=ComboBox2
         .AutoFilter Field:=7, Operator:= _
            xlFilterValues, Criteria2:=Array(2, nvdate)
    End With
    EDIT: j'ai fait ceci sous Excel 2007

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    985
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 985
    Par défaut RE
    merci rvtoulon

    il est impératif de passer par un format anglais ? ou bien
    puis-je faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nvdate = Format(Me.ComboBox1.Value, "DD/MM/YYYY")
    A+

  4. #4
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Dans ma combobox mon format de date est français. 10/01/2010
    Apparement l'enregistreur (ou le filtre) la recherche au format anglais. 01/10/2010
    Il est donc nécessaire de formater la date en "MM/DD/YYYY".

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    985
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 985
    Par défaut RE
    Merci encore rvtoulon

    Ok date en anglais donc ..

    une dernière chose si tu le permets
    peux-tu me renseigner sur le terme "Criteria"
    comme tu as pu remarquer , je fais un filtre sur 3 critères de choix
    dois-je nécessairement identifier
    Criteria1: 1er choix
    Criteria2: 2ieme choix ...
    etc...
    car j'ai remarque que dans ton ex , il y avait "criteria2" ..

    Merci
    A+

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Si tu veux filtrer sur la colonne 7 les date inférieures à la date de ComboBox3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        With .Range("A2:J" & LastLig)
            .AutoFilter Field:=1, Criteria1:=ComboBox1
            .AutoFilter Field:=2, Criteria1:=ComboBox2
            .AutoFilter Field:=7, Criteria1:="<=" & CLng(ComboBox3)
        End With

  7. #7
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    re,
    je fais un filtre sur 3 critères de choix
    dois-je nécessairement identifier
    Criteria1: 1er choix
    Criteria2: 2ieme choix ...
    Regarde ce que dis l'aide dans l'éditeur vba (F1) sur la fonction autofilter tu trouveras la réponse.

  8. #8
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    985
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 985
    Par défaut RE
    Merci à vous deux

    pour mercatog
    j'ai du mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .AutoFilter Field:=7, Criteria2:="<=" & CLng(ComboBox3)
    pour que çà marche
    sinon maintenant j'ai mon filtre mais j'avoue que même avec F1 j'ai un peu de mal à comprendre l'astuce de la deuxième condition de criteria2

    Merci encore
    A+

Discussions similaires

  1. Faire un filtre sur la date
    Par Hatchepsout dans le forum Windows Forms
    Réponses: 8
    Dernier message: 29/06/2007, 14h26
  2. requete avec filtre sur la date
    Par petitours dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 12/02/2007, 11h49
  3. [MySQL] Requête de filtre sur les dates
    Par Mathieu72 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/01/2007, 11h18
  4. [VBA]Filtre sur une date
    Par illight dans le forum SDK
    Réponses: 2
    Dernier message: 09/11/2006, 09h45
  5. Programmation du filtre sur les Dates
    Par Alpha31 dans le forum Access
    Réponses: 5
    Dernier message: 26/06/2006, 09h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo