Macro filtre de date

  • Initiateur de la discussion Initiateur de la discussion gawella38
  • 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 !

G

gawella38

Guest
Bonjour,

J'ai beau chercher un peu partout ici ou ailleurs je ne trouve pas de réponse à mon problème qui ne me paraissait pourtant pas si compliqué à la base...

Je suis en Excel 2007 et je n'arrive pas appliquer des filtr automatique de date à l'aide d'une macro... le premier filtre est bien reconnu comme un filtre de date mais le 2ème devient un "filtre textuel" ! Pourquoi ? Mystère...

Quelqu'un a-t-il déjà rencontrer ce problème et si oui auriez-vous une solution ?

ci-joint un petit fichier pour illustrer mon problème.

Merci de votre aide

Gawella
 

Pièces jointes

Re : Macro filtre de date

Salut,

Le prob vient d'ici

Code:
ActiveSheet.Range("$A$4:$C$14").AutoFilter Field:=1, Criteria1:=">= debut", Operator:=xlAnd, Criteria2:="<=fin"

Plus prècisement, au variable que constitue ton critère début et fin qui ne sont pas reconnu car si tu les remplace par des date hard codée le filtre fonctionne.

Mnt on sait ou sa va pas, mais pas encore trouver comment ecrire correctement cette ligne
 
Re : Macro filtre de date

merci pour cette précision mais en effet ça ne m'avance pas beaucoup parce que je n'ai pas de solution...

Personne n'a jamais rencontrer ce problème ? Je vais finir par croire que c'est moi qui suis tordue 😕

D'autres idées donc ?
 
Re : Macro filtre de date

Re, si le prob est connu,

Voila une solution, mais j'ai pas encore test je vien just de la trouver. Deja la synthaxe change mais il faut visiblement egallement passer les variables date en long

voici ce que je viens d'écrire mais c'est pas encore tout a fait au point,

Private Sub filtre_Click()


'debut = CDate(Format(Range("debut"), "dd/mm/yyyy"))
'fin = CDate(Format(Range("fin"), "dd/mm/yyyy"))





Dim dDate As Date
Dim dDate2 As Date

Dim lDate As Long
Dim Ldate2 As Long



If IsDate(Range("C1")) Then

dDate = Range("C1")
dDate = DateSerial(Year(dDate), Month(dDate), Day(dDate))
End If



If IsDate(Range("C2")) Then

dDate2 = Range("C2")
dDate2 = DateSerial(Year(dDate), Month(dDate), Day(dDate))
End If



lDate = dDate
Ldate2 = dDate2


'ActiveSheet.Range("$A$4:$C$14").AutoFilter Field:=1, Criteria1:="<=" & lDate, Operator:=xlAnd, Criteria2:=">=" & Ldate2

ActiveSheet.Range("$A$4:$C$14").AutoFilter Field:=1, Criteria1:=">=" & lDate, Operator:=xlAnd, Criteria2:="<=" & Ldate2

End Sub

Source: Excel Hyperlink Usage. AutoFilter Date Criteria in Excel VBA

Tu va au paragraphe: DATES IN AUTOFILTER CRITERIA


J'ai pas trop trop le temps de finir donc je te donne ce que j'ai trouver si des fois tu trouve avant moi.
 
Re : Macro filtre de date

Reuh,

Voila j'ai trouvé. Copie le code suivant et c'est tout bon


Private Sub filtre_Click()

Dim dDate As Date
Dim dDate2 As Date

Dim lDate As Long
Dim Ldate2 As Long



If IsDate(Range("C1")) Then

dDate = Range("C1")
dDate = DateSerial(Year(dDate), Month(dDate), Day(dDate))
End If



If IsDate(Range("C2")) Then

dDate2 = Range("C2")
dDate2 = DateSerial(Year(dDate2), Month(dDate2), Day(dDate2))
End If


lDate = dDate
Ldate2 = dDate2

ActiveSheet.Range("$A$4:$C$14").AutoFilter Field:=1, Criteria1:=">=" & lDate, Operator:=xlAnd, Criteria2:="<=" & Ldate2

End Sub


Ps: macro écrite sur le tas donc pas optimisée mais fonctionnelle.

A ploush
 
Re : Macro filtre de date

Bonjour,

Voir PJ

Code:
Sub filtre2Dates()
   [A4].AutoFilter Field:=1, Criteria1:=">=" & CDbl(Range("c1"))
   [A4].AutoFilter Field:=2, Criteria1:="<=" & CDbl(Range("c2"))
End Sub

Sub tout()
  On Error Resume Next
  ActiveSheet.ShowAllData
End Sub

JB
Formation Excel VBA JB
 

Pièces jointes

Dernière édition:
Re : Macro filtre de date

Merci infiniment à tous les 2 !!!!! Les 2 solutions fonctionnent.

Par simple curiosité, BOISGONTIER (si tu repasses par ici) à quoi correspond le [A4] de ta formule ?
ça c'est juste pour ma culture perso.

Merci merci et encore merci !!
 
- 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

D
Réponses
3
Affichages
941
Doze3
D
O
Réponses
19
Affichages
2 K
Ooble
O
B
Réponses
4
Affichages
3 K
BOMBO
B
P
Réponses
3
Affichages
752
punk_sportif
P
Retour