OVH Cloud OVH Cloud

filtre personnalisé

2 réponses
Avatar
massonlafayette
Bonsoir tout le monde,
j'ai 1 prob pour utiliser 1 filtre personnalisé en vba:
lorsque j'enregisre la macro en filtre perso avec comme critères:
">=01/01/2003" and "<=31/12/03", ça marche très bien (pendant l'enregistrement)
mais dès que je veux exécuter cette macro, seules des lignes vierges
apparaissent et correspondent à toutes les lignes situées après mes données.
j'ai tourné ça dans tous les sens mais rien à faire alors help!
il semblerait que vba n'accepte que les filtres "simples".
merci.
lio

2 réponses

Avatar
RaMa
Bonsoir

1)dans le critere tu mets
=ET(A1>ÚTEVAL("1/1/2003");A1<ÚTEVAL("31/12/2003"))
2)pour la plage de critere selectionne aussi une ligne au dessus du critere
(soit 2 lignes) meme vierge

A1 est la cellule du titre de ta colonne date
ta macro devrait ressembler à ça

Range("A2:A25").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("D1:D2"), Unique:úlse

RaMa

"Lionel Masson" a écrit dans le message de
news:
Bonsoir tout le monde,
j'ai 1 prob pour utiliser 1 filtre personnalisé en vba:
lorsque j'enregisre la macro en filtre perso avec comme critères:
">/01/2003" and "<1/12/03", ça marche très bien (pendant
l'enregistrement)

mais dès que je veux exécuter cette macro, seules des lignes vierges
apparaissent et correspondent à toutes les lignes situées après mes
données.

j'ai tourné ça dans tous les sens mais rien à faire alors help!
il semblerait que vba n'accepte que les filtres "simples".
merci.
lio


Avatar
FxM
Bonsoir Lionel,

tss, tss, la réponse a été donnée plusieurs fois aujourd'hui.

ni 01/01/2003, ni "01/01/2003" ne sont des dates pour Excel.
Une date n'est qu'une mise en forme particulière d'un nombre.
Pour transformer cette chose infâme en date, il faut utiliser
cdate("01/01/2003") s'il n'y a pas de confusion possible dans le
format américano-européen ou plus sûrement dateserial(2003,1,1)

@+
FxM






Lionel Masson wrote:

Bonsoir tout le monde,
j'ai 1 prob pour utiliser 1 filtre personnalisé en vba:
lorsque j'enregisre la macro en filtre perso avec comme critères:
">/01/2003" and "<1/12/03", ça marche très bien (pendant l'enregistrement)
mais dès que je veux exécuter cette macro, seules des lignes vierges
apparaissent et correspondent à toutes les lignes situées après mes données.
j'ai tourné ça dans tous les sens mais rien à faire alors help!
il semblerait que vba n'accepte que les filtres "simples".
merci.
lio