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
| rivate Sub Filter_Procedure()
Dim FirstAddress As String
Dim FoundRange As Range
If AvailableClick = True Then
If ServButton1 = True Then
InitData.Columns("A:P").AutoFilter field:=7
InitData.Columns("A:P").AutoFilter field:=12
ElseIf ServButton2 = True Then
InitData.Columns("A:P").AutoFilter field:=7, Criteria1:="<>"
InitData.Columns("A:P").AutoFilter field:=12
ElseIf ServButton3 = True Then
InitData.Columns("A:P").AutoFilter field:=7
InitData.Columns("A:P").AutoFilter field:=12, Criteria1:="<>"
End If
If ZoneComboBox <> "" Then
InitData.Columns("A:P").AutoFilter field:=3, Criteria1:=ZoneComboBox.Text
Else
InitData.Columns("A:P").AutoFilter field:=3
End If
If LocalComboBox <> "" Then
InitData.Columns("A:P").AutoFilter field:=4, Criteria1:=LocalComboBox.Text
Else
InitData.Columns("A:P").AutoFilter field:=4
End If
ReDim EquipRowList(0)
Me.EquipListBox.Clear 'On nettoie les Combobox avant de les réalimenter - ceci active le EquipListBox_Change()
Me.PieComboBox.Clear '- ceci active le PiecomboBox_Change()
If SearchTextBox.Text <> "" Then
Set FoundRange = InitData.Columns("A:P").Find(What:=SearchTextBox.Text, After:=InitData.Cells(2, 1), LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If FoundRange Is Nothing Then
MsgBox "Votre recherche n'a donnée aucun résultat"
ElseIf Not FoundRange Is Nothing Then
FirstAddress = FoundRange.Address
Do
If InitData.Cells(FoundRange.Row, 10) = "Supprimé" Then
Me.EquipListBox.AddItem InitData.Cells(FoundRange.Row, 2) & Chr(9) & "SUPPRIME"
Else
Me.EquipListBox.AddItem InitData.Cells(FoundRange.Row, 2) & Chr(9) & InitData.Cells(FoundRange.Row, 1)
End If
ReDim Preserve EquipRowList(UBound(EquipRowList) + 1) 'on alimente une variable tableau qui va stocker les numéros de ligne de Initdata
EquipRowList(UBound(EquipRowList)) = FoundRange.Row
Set FoundRange = InitData.Columns("A:P").Cells.FindNext(FoundRange)
Loop While Not FoundRange Is Nothing And FoundRange.Address <> FirstAddress
End If
Else
For VarInc = 2 To LastEquipment
If InitData.Cells(VarInc, 2).EntireRow.Hidden = False Then
If InitData.Cells(VarInc, 10) = "Supprimé" Then
Me.EquipListBox.AddItem InitData.Cells(VarInc, 2) & Chr(9) & "SUPPRIME"
Else
Me.EquipListBox.AddItem InitData.Cells(VarInc, 2) & Chr(9) & InitData.Cells(VarInc, 1)
End If
ReDim Preserve EquipRowList(UBound(EquipRowList) + 1) 'on alimente une variable tableau qui va stocker les numéros de ligne de Initdata
EquipRowList(UBound(EquipRowList)) = VarInc
End If
Next
End If
Me.EquipListBox.ListIndex = 0
End If
End Sub |
Partager