macro avec filtre sur date

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
 
E

EricS

Guest
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
 
T

tracor

Guest
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
 
E

EricS

Guest
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
 
T

tracor

Guest
RE

je te joins le fichier exemple

j'ai ajouté la macro en colonne a

pour une date fixe la macor fontionne correctement

par contre une date avec intervalle y a un os

merci de te pencher sur mon problème

tracor
 

Pièces jointes

  • Classeur2.zip
    5 KB · Affichages: 83
  • Classeur2.zip
    5 KB · Affichages: 73
  • Classeur2.zip
    5 KB · Affichages: 85
E

EricS

Guest
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
 

Discussions similaires

Statistiques des forums

Discussions
313 060
Messages
2 094 924
Membres
106 128
dernier inscrit
lopierre