1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
| Dim Cplt As Boolean
Dim n As Integer
'Lorsque l'on sélectionne une donnée dans la liste défilante du filtre 1, alors la macro "Filtre"
'est appelée:
Private Sub Flt1_Click()
Call Filtre(Me, Flt1, ColLotp)
End Sub
'Lorsque l'on sélectionne une donnée dans la liste défilante du filtre 2, alors la macro "Filtre"
'est appelée:
Private Sub Flt2_Click()
Call Filtre(Me, Flt2, ColDec)
End Sub
'Lorsque l'on sélectionne une donnée dans la liste défilante du filtre 4, alors la macro "Filtre"
'est appelée:
Private Sub Flt4_Click()
Call Filtre(Me, Flt4, ColNat)
End Sub
'Lorsque l'on sélectionne une donnée dans la liste défilante du filtre 5, alors la macro "Filtre"
'est appelée:
Private Sub Flt5_Click()
Call Filtre(Me, Flt5, ColLib)
End Sub
'Lorsque l'on sélectionne une donnée dans la liste défilante du filtre 6, alors la macro "Filtre"
'est appelée:
Private Sub Flt6_Click()
Call Filtre(Me, Flt6, ColText)
End Sub
'Lorsque l'on sélectionne une donnée dans la liste défilante du filtre 7, alors la macro "Filtre"
'est appelée:
Private Sub Flt7_Click()
Call Filtre(Me, Flt7, ColDatF)
End Sub
'Lorsque l'on sélectionne une donnée dans la liste défilante du filtre 8, alors la macro "Filtre"
'est appelée:
Private Sub Flt8_Click()
Call Filtre(Me, Flt8, ColDatC)
End Sub
'Lorsque l'on sélectionne une donnée dans la liste défilante du filtre 9, alors la macro "Filtre"
'est appelée:
Private Sub Flt9_Click()
Call Filtre(Me, Flt9, ColB)
End Sub
----------------------------------------------------------------------
Sub Filtre(MaForm, Flt, xCol)
If Activate = True Then Exit Sub
Activate = False
Call ChoixTag(Flt)
For n = ColLotp To ColB
Select Case n
Case xCol
GoTo Suite
Case ColLotp To ColDec
Call ListEDEFlt(MaForm.Controls("Flt" & n), Flt.Tag, xCol, n)
Case ColNat To ColB
Call ListEDEFlt(MaForm.Controls("Flt" & n), Flt.Tag, xCol, n)
End Select
Suite:
Next n
End Sub
-------------------------------------------------------------------
Static Sub ChoixTag(CHOIX)
'Transforme la valeur "Tous" d'une ListeBox ou d'un ComboBox en .Tag "**"
'utilisé pour comparer des chaines de caractére à l'aide de "Like"
If CHOIX = "Tous" Then
CHOIX.Tag = "*" & "*"
Else
CHOIX.Tag = CHOIX
End If
End Sub
--------------------------------------------------------------------
Sub ListEDE(EDE, FltLotp, DECP)
ReDim TabNCol(LnMax, 4)
i = 0
For nLnD = LnMin To LnMax
If shD.Cells(nLnD, ColLib) <> "" _
And shD.Cells(nLnD, ColLotp) Like FltLotp.Tag _
And shD.Cells(nLnD, ColDec) Like DECP.Tag _
And shD.Cells(nLnD, ColB) <> "non" Then
Call ConstTabNCol(i, shD.Cells(nLnD, ColLotp), _
shD.Cells(nLnD, ColLib), shD.Cells(nLnD, ColText), _
shD.Cells(nLnD, ColNat), shD.Cells(nLnD, ColObj))
i = i + 1
End If
Next nLnD
EDE.List() = TabNCol
Call CleanList(EDE)
End Sub |