Excel: filtrer date sur un intervalle donné par une macro

vinsou82 Messages postés 9 Date d'inscription mercredi 5 septembre 2007 Statut Membre Dernière intervention 25 septembre 2009 - 25 sept. 2009 à 15:56
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 - 26 sept. 2009 à 13:42
Bonjour,

J'espere ne pas m'etre trompé de section, voilà j'ai un fichier de données Excel avec diverses colonnes et nottament une colonne de dates diverses que je souhaite filtrer selon le début et la fin d'une période de dates renseignée dans deux cellules "début" "fin" à l'aide d'un macro.

Donc j'ai enregistré ceci qui ne fonctionne que pour les valeurs bidons 39148 et 39195 rentrée dans le filtre lors de l'enregistrement:



Sub dates()
'
' dates Macro
' Macro enregistrée le 25/09/2009 par Vinc
'

'
Columns("L:L").Select
Selection.AutoFilter Field:=1, Criteria1:=">=39148", Operator:=xlAnd, _
Criteria2:="<=39195"
End Sub



Et je souhaite obtenir quelque chose du genre:



Sub dates()
'
' dates Macro
' Macro enregistrée le 25/09/2009 par Vinc
'

'
Columns("L:L").Select
Selection.AutoFilter Field:=1, Criteria1:=">=range ("q4")", Operator:=xlAnd, _
Criteria2:="<=range ("r4")", "
End Sub



Mais ceci ne focntionne pas, et j'ai esayé plein de combinaisons en ajoutant des " dans tous les sens ou en les enlevant mais rien n'y fait!
range ("q4") et range ("r4") étant les celluls "début" et "fin" de mon intervalle à filtrer selon les dates q'on y rentre.

Si vous voyez la solution merci d'avance!!

Configuration: Windows XP Internet Explorer 8.0

1 réponse

dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
26 sept. 2009 à 13:42
Bonjour ,

Voici une solution
Pour éviter les bugs , je verifie si les formats de Q4 et R4 sont bien des "dates"

Dim DateDebut As Date
Dim DateFin As Date
'Verifier si date
If IsDate(Range("Q4").Value) = False Or _
IsDate(Range("R4").Value) = False Then
MsgBox "N'est pas une date !"
Exit Sub
End If
DateDebut = Range("Q4").Value
DateFin = Range("R4").Value
Columns("L:L").Select
Selection.AutoFilter Field:=1, _
Criteria1:=">=" & CLng(DateDebut), _
Operator:=xlAnd, Criteria2:="<=" & CLng(DateFin)

Dedenet2
0
Rejoignez-nous