macro avec filtre sur date

  • Initiateur de la discussion Initiateur de la discussion tracor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

tracor

Guest
bonjour le phorum

j'ai un petit souci concernant une macro qui doit me filtrer un intervalle entre deux date puis copier/coller tous les éléments entrant dans la fourchette dans un autre tableau

voici l'instruction qui pose problème
Selection.AutoFilter Field:=35, Criteria1:=">=Format(DateOn, "dd/mm/yyyy"), Criteria2:=<=Format(DateTo, "dd/mm/yyyy")"

lorsque je veux valider cette instruction il me met l'erreur
erreur de compilation
attente fin d'instruction

y a t il une âme charitable qui pourrait me donner la solution à ce problème

merci d'avance

tracor
 
Bonjour,

ci-après un extrait de code que j'utilise dans une appli :

1/mon tableau feuille est rempli avec des dates

feuille(1, 3) = DateSerial(Year(date_courante), Month(date_courante), 1)

2/Les crit sont définis en nombres

Dim crit_bas As Single, crit_haut As Single
crit_bas = feuille(i, 2): crit_haut = feuille(i, 3)
Selection.AutoFilter Field:=22, Criteria1:=">=" & crit_bas, Operator:=xlAnd _
, Criteria2:="<" & crit_haut

A priori cela fonctionne (ex97 et 2003)

A+

Eric
 
salut Eric

effectivement cela fonctionne avec cette instruction
cependant la macro sélectionne bien l'intervalle voulue mais
elle n'affiche rien
je suis obligé de revalider le filtre à la main pour que les valeurs comprises dans l'intervalle s'affichent

as tu une idée sur la cause de ce problème

merci d'avance

tracor
 
RE

un essai à faire avec dates en colonne 2
Sub filtre()
dateon = InputBox("date début", Date)
dateto = InputBox("date fin", Date)
Dim crit_bas As Single, crit_haut As Single
crit_bas = CDate(dateon): crit_haut = CDate(dateto)
Range("a1").Select
If AutoFilterMode = False Then Selection.AutoFilter
Selection.AutoFilter Field:=2, Criteria1:=">=" & crit_bas, Operator:=xlAnd _
, Criteria2:="<" & crit_haut

End Sub

C'est peut-être un eréponse en doublon mais j'ai eu un plantage lors de l'envoi précédent

A+

Eric
 
RE

A priori, ce qui est filtré est le nombre correspondant à la date donc par ex 38261 pour le 1/10/04. le "format de cellule date" n'est qu'un affichage.

le type long serait peut-être utilisable mais l'integer par exemple est trop court (-32000<nombre<32000)

Par principe, on devrait déclarer toutes les variables pour les dadpter à leur utilisation et limiter les réservations mémoire.

A+

Eric
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
8
Affichages
537
Réponses
4
Affichages
803
Réponses
2
Affichages
818
Réponses
1
Affichages
702
Retour