filtrer une listview entre 2 dates

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

elido

XLDnaute Nouveau
Bonjour le forum

J'ai un formulaire contenant une listview que je voudrais filtrer, jusque là pas de problème quand je le fais avec 2 combobox.
Maintenant je voudrais rajouter dans celui-ci une date début et une date fin pour faire ce même tri (la date en question est la date de sortie colonne "M").
Et c'est là que je ne sais pas comment faire !

Une âme charitable peut-elle m'aider ? Merci d'avance de regarder mon fichier.
 

Pièces jointes

Dernière édition:
Re : filtrer une listview entre 2 dates

Bonsoir elido,

Un essai dans le fichier joint. J'ai rajouter un bouton. Je n'ai pas traité la variable Flag.
VB:
Private Sub Filtrer_Click()
Dim c As Range
frmRecherche.ListView1.ListItems.Clear
With Sheets("BD")
  For Each c In .Range(.Cells(2, 13), .Cells(.Cells(65000, 1).End(xlUp).Row, 13))
    If IsDate(c) Then
      If CDate(c) >= DTPicker1 And CDate(c) <= DTPicker2 Then   'MsgBox c.Value
          With frmRecherche.ListView1
              .ListItems.Add , , c.Offset(0, -12)
              .ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, -11)
              .ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, -10)
              .ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, -9)
              .ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, -8)
              .ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, -7)
              .ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, -6)
              .ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, -5)
              .ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, -4)
              .ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, -3)
              .ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, -2)
              .ListItems(.ListItems.Count).ListSubItems.Add , , c.Offset(0, -1)
              .ListItems(.ListItems.Count).ListSubItems.Add , , c
          End With
      End If
    End If
  Next c
End With
Unload Me
End Sub
 

Pièces jointes

Re : filtrer une listview entre 2 dates

Merci mapomme,

Nickel pour les dates c'est tout à fait ce que je recherchais.
Tu parles de la variable Flag ? Qu'est-ce ? Je récupère des bouts de code ici et là, et c'est vrai que c'est une notion qui apparait parfois, mais à quoi ça sert ?

Puis-je te solliciter à nouveau ?
1 - Pour continuer sur mon fichier est-ce que je peux enlever certaines colonnes du filtre dans le combo "choix 1 :col. a filtrer" ?
Je m'explique, je voudrais enlever de la liste qui s'affiche, les colonnes A(clé), F et G(Race et Sexe), L (obs).
2-si je choisis par exemple la catégorie "cause sortie dans combo1, combo2 "choix 2" propose 3 (4) choix (Boucherie, Mort, Vente élevage). Y'a un vide entre les 2 premiers. Peut-on faire en sorte qu'il n'y en ai pas ?

Merci à toi
 
Re : filtrer une listview entre 2 dates

Bonjour elido,

Tu parles de la variable Flag ? Qu'est-ce ? Je récupère des bouts de code ici et là, et c'est vrai que c'est une notion qui apparait parfois, mais à quoi ça sert ?
Les variables publiques Sel, Col et Flag servent à passer des informations de la feuille frmSélection vers la feuille frmRecherche quand on referme frmSélection. Flag vaut TRUE si on désire filtrer sur une colonne (clique sur le bouton "Valider" dans frmSélection).
Et dans ce cas, Col contient le numéro de la colonne à filtrer et Sel contient le critère à appliquer à cette colonne.


1 - Pour continuer sur mon fichier est-ce que je peux enlever certaines colonnes du filtre dans le combo "choix 1 :col. a filtrer" ?
Je m'explique, je voudrais enlever de la liste qui s'affiche, les colonnes A(clé), F et G(Race et Sexe), L (obs).
2-si je choisis par exemple la catégorie "cause sortie dans combo1, combo2 "choix 2" propose 3 (4) choix (Boucherie, Mort, Vente élevage). Y'a un vide entre les 2 premiers. Peut-on faire en sorte qu'il n'y en ai pas ?

Voir fichier joint.
 

Pièces jointes

Re : filtrer une listview entre 2 dates

Merci, pour les modifications apportées.
Petit problème : OK ça marche sur ton fichier mais pas sur le miens !
Mon fichier d'origine comporte 32 colonnes et d'autres formulaires (voir fichier joint).
J'ai recopier tes modiifs de macro sur ce fichier, comme tu peux le voir j'ai supprimé frmRecherche. Je sélectionne les dates ou la catégorie par le bouton de commande "Sélectionner" dans frmAnimaux.
Je fais ensuite un filtre avec les boutons d'option. Jusque là pas d'ennui. Si je filtre sur "catégorie", dans la combo1 "catégorie1", j'ai bien les éléments dont j'ai besoin mais par contre dans la combo2 "catégorie2" je n'obtiens pas les bons renseignements. Ex : si je sélectionne "Nom" en combo1, j'obtiens les "n°VL" dans combo 2 ?

Peux tu m'aider à résoudre ce problème ?
 

Pièces jointes

Dernière édition:
- 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

Discussions similaires

Réponses
3
Affichages
152
Réponses
1
Affichages
288
Retour