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 :

Récupérer critère de filtre sur des dates


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Par défaut Récupérer critère de filtre sur des dates
    Bonjour à tous,

    Voilà j'ai besoin de sauvegarder les filtres actifs puis faire un traitement sur le fichier puis remettre les filtres tels quels.

    J'y arrive avec les champs "normaux" (texte, nombre, etc...) en prenant le critère 1 et le critère 2 ainsi que l'opérateur ou éventuellement le tableau de valeurs contenu dans critère 1 s'il y a plus de 2 critères.

    Mon problème est que cela ne marche pas pour des filtres sur des dates.

    Lorsque avec l'option d'affichage de variable ou à l'aide d'un espion je regarde le contenu de critère 1 et critère 2 il marque "Erreur définie par l'application ou l'objet".

    J'ai fais un test avec l'enregistrement de macro et j'ai vu que les valeurs étaient insérées dans le critère 2 sous forme de tableau avec la fonction Array.

    Ma question est pourquoi on ne peut pas récupérer un tableau de valeurs dans critère 2 pour un filtre de date ?

    Je précise que je récupère ce contenu dans un variant

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Si tu parles des filtres avec des cases à cocher, tu ne peux pas les sauvegarder (cf. Rory Archibald) à lire de bas en haut; j'ai mis en gras les passages importants :

    -----Message d'origine-----
    De : Microsoft Excel Developers List [mailto:EXCEL-L@PEACH.EASE.LSOFT.COM]
    De la part de Rory Archibald
    Envoyé : lundi 13 février 2012 11:05
    À : EXCEL-L@PEACH.EASE.LSOFT.COM
    Objet : Re: Excel 2010 Auto filter Criterias

    Yes the 0,1,2 are just the checkbox level. It does appear impossible to
    return the filter values directly (they are stored in the XML of course)


    Regards,
    Rory

    Sent from some gadget or other.

    On 13 Feb 2012, at 09:23, Laurent Wright <laurent.wright@AUGENTIUS.COM>
    wrote:

    > I figured via testing:
    > ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=9,
    > Operator:= xlFilterValues, Criteria2:=Array(0, "8/31/2011")
    >
    > If in the above, you change Criteria2 to Criteria1, then nothing gets
    > filtered - ie no results So Criteria1 appears to be for specific items
    > such as "This Week", "Last Month"...etc
    > Criteria2 is used for the check boxes in the list In the element In
    > Array(0, "8/31/2011"), the 0 can be 0, 1, 2 or greater although 3, 4
    > etc do not appear to do anything different to 2)
    > 0 means Year to date based on the year of the date following it (in
    > this case 2011)
    > 1 means Month to date as above
    > 2 means that day
    > For multiple crit, Criteria2:=Array(0, "10/7/2011", 0, "12/31/2008",
    > 0, "4/15/2005") means all data for years 2011, 2008 and 2005. The
    > dates are the last dates for that year in the data
    >
    > I too couldn't find any help on the interweb
    >
    >
    >
    > Laurent Wright
    > Senior Business Analyst
    > -----Original Message-----
    > From: Microsoft Excel Developers List
    > [mailto:EXCEL-L@PEACH.EASE.LSOFT.COM] On Behalf Of Daniel
    > Sent: 11 February 2012 13:53
    > To: EXCEL-L@PEACH.EASE.LSOFT.COM
    > Subject: Excel 2010 Auto filter Criterias
    >
    > When I use dates criteria, the macro recorder displays :
    >
    >
    >
    > ActiveSheet.Range("$D$1:$D$17").AutoFilter Field:=1, Operator:= _
    >
    > xlFilterValues, Criteria2:=Array(2, "1/3/2012", 2, "1/5/2012")
    >
    >
    >
    > My main concern is to retrieve this array. Also why Criteria2 ? Also, what
    "2" stands for ? I don't find any clue on the internet.

    >
    >
    >
    > Thanks in advance.
    >
    >
    >
    > Daniel

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Par défaut
    Ok merci c'est la réponse que je redoutais.

    Mais alors si les filtres sont stockés dans le xml (si j'ai bien compris), pourquoi peut-on récupérer les filtres sur des nombres ou des chaines de caractères ?

    Cela vient du fait qu'il n'y a qu'un niveau d'indentation dans les checkboxes ?

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Tout est stocké dans le XML. Je pense qu'il faudra attendre une nouvelle version de VBA (s'il y en a jamais une) pour qu'on puisse accéder aux nouveautés Excel de ce calibre. Un moyen de contourner, mais il est extrêmement contraignant est de protéger la feuille et de reproduire les options de filtrage sur un userform. Je me vois mal le faire...

  5. #5
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Citation Envoyé par Daniel.C Voir le message
    ... Un moyen de contourner, mais il est extrêmement contraignant est de protéger la feuille et de reproduire les options de filtrage sur un userform. Je me vois mal le faire...
    On peut aussi travailler avec un Userform et un Filtre elaboré, mais cela change un peu la donne.

Discussions similaires

  1. Création d'un filtre sur des dates
    Par Daviloppeur dans le forum AngularJS
    Réponses: 0
    Dernier message: 12/11/2014, 10h28
  2. [ZF 1.10] zfdatagrid et filtre sur des dates
    Par Sereine dans le forum Zend Framework
    Réponses: 9
    Dernier message: 06/11/2012, 15h50
  3. Réponses: 13
    Dernier message: 27/05/2011, 23h12
  4. [LDAP] Filtre sur des dates
    Par honeydew dans le forum Développement
    Réponses: 2
    Dernier message: 08/11/2010, 10h46
  5. probleme avec des filtres de recherche sur des dates
    Par MCarole dans le forum Access
    Réponses: 2
    Dernier message: 24/07/2006, 10h22

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