XL 2013 filtre "antérieur à " appliqué à une listbox

SARA36

XLDnaute Nouveau
Bonsoir

J'ai besoin de votre aide pour perfectionner mon projet

j'ai une listbox auquel j'ai appliqué des filtres variable selon la valeur des plusieurs textbox et combox.

Tout fonctionne a merveille . j'ai seulement besoin de changer le filtre associé à la date par "antérieur à " au lieu de "égal à "

çi joint le fichier et je vous remercie d'avance.
 

Pièces jointes

  • Parc auto 10.xlsm
    132.8 KB · Affichages: 44

Dranreb

XLDnaute Barbatruc
Re : filtre "antérieur à " appliqué à une listbox

Bonjour.
Je pense que le plus simple serait de sortir la ComboBox1 de celles gérées par l'objet ComboBoxLiées.
Peut être y mettre une TextBox à la place, voire deux: du - au
Lorsque ça change, préparer une liste des numéros des lignes du tableau où la date est comprises dans l’intervalle souhaité et la soumettre à CL.FiltrerLignes.
Qu'en pensez vous ?

Au plus simple ça peut être fait comme ça :
VB:
Private Sub UserForm_Initialize()
Set CL = New ComboBoxLiées
CL.Plage FVol.Rows(2)
CL.Add Me.CBxClient, "B"
CL.Add Me.CBxObjectif, "J"
CL.Add Me.CBxReprésentant, "M"
CL.Add Me.CBxZone, "i"
CL.Add Me.CBxCA2015, "J"
CL.Add Me.ComboBoxrang, "A"
'CL.Add Me.ComboBox1, "G" <== Sorti
CL.CouleurSympa
CL.Actualiser
Me.ComboBox1.List = SujetCBx(CL.PlgTablo.Columns("G"))(0)
End Sub
'

Private Sub ComboBox1_Change()
Dim TL() As Long, DateFin As Date, TDates(), LE&, LS&
ReDim TL(1 To CL.PlgTablo.Rows.Count)
On Error Resume Next
DateFin = ComboBox1.Value
If Err Then CL.AfficherTout: Exit Sub
On Error GoTo 0
TDates = CL.PlgTablo.Columns("G").Value
For LE = 1 To UBound(TDates, 1)
   If TDates(LE, 1) <= DateFin Then LS = LS + 1: TL(LS) = LE
   Next LE
ReDim Preserve TL(1 To LS)
CL.FiltrerLignes TL
End Sub
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : filtre "antérieur à " appliqué à une listbox

C'est dans le code bien évidemment. Il ne peut pas y avoir deux Private Sub ComboBox1_Change()
D'ailleurs je vous conseille de supprimer toutes les procédure vides, c'est à dire dépourvues de code entre la Sub et la End Sub.
 

Discussions similaires

Réponses
12
Affichages
532

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal