Bonjour,
J'ai créé un Userform qui permet d'appliquer certains filtres, mais je bloque sur les champs de date. J'ai fait quatre listes déroulantes, respectivement pour le mois (StartMonth), l'année (StartYear) de début de période, et pour le mois (EndMonth), l'année (EndYear) de fin de période.
renvoie le numéro du mois, puisque
Code : Sélectionner tout - Visualiser dans une fenêtre à part StartMonth.ListIndexrenvoie une chaîne vide. Idem pour EndMonth.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Start.Month.ListIndex = 0
J'ai remarqué que, bizarrement, les filtres chronologiques écrits "en dur" sont des dates formatées à la française (dd/mm/YYYY), mais que dès que j'utilise des variables, il l'interprète à l'américaine (m/d/YYYY). Bon.
Je ne m'intéresse qu'au mois, tous les jours des dates sur cette colonne étant à 1. D'autre part, j'ai d'abord voulu tester la période de début, sans m'occuper de la date de fin, que j'ai laissée "en dur".
J'ai donc écrit le code suivant :
Après la soumission du formulaire, on peut constater qu'aucune correspondance n'est trouvée, puisque tout a été filtré (aucune ligne du tableau n'est apparente), mais si l'on regarde quels filtres ont été appliqués, il y a bien un filtre chronologique et les dates écrites dans le filtres ont l'air bien écrites. Il doit donc y avoir un problème de format. J'ai essayé aussi avec "/01/" au lieu de "-1-". Ça ne marche pas davantage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 'Filtre sur la date de début de période If StartMonth.ListIndex = 0 Then ActiveSheet.ListObjects("Liste_Factures").Range.AutoFilter Field:=6 Else ActiveSheet.ListObjects("Liste_Factures").Range.AutoFilter Field:=6, _ Criteria1:=">=" & StartMonth.ListIndex & "-1-" & StartYear.Value, Operator:=xlAnd, Criteria2:="<=31/12/2017"
J'ai aussi essayé le code suivant :
mais ça ne marche pas non plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Criteria1:=">=" & DateSerial(StartYear.Value,StartMonth.ListIndex,1) , Operator:=xlAnd, Criteria2:="<=31/12/2017"
Merci d'avance de votre aide,
Cordialement,
Partager