filtrer une listview entre 2 dates

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

  • listview tri essai.xlsm
    43.7 KB · Affichages: 116
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
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

  • filtrer une listview entre 2 dates v1.xlsm
    40.4 KB · Affichages: 195

elido

XLDnaute Nouveau
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
 

mapomme

XLDnaute Barbatruc
Supporter XLD
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

  • filtrer une listview entre 2 dates v2.xlsm
    42 KB · Affichages: 175

elido

XLDnaute Nouveau
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

  • Fichier elido 19 Nov-2012 v.1.xlsm
    149.1 KB · Affichages: 193
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz