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
| Sub Read_Filter_File1()
Dim f As Filter
Dim w As Worksheet
Dim rw As Long
Const ns As String = "Not set"
Dim Sheet_Name As String
Dim Row_count As Long
Sheet_Name = ThisWorkbook.Sheets("#Parms").Range("B4").Value
Set w = ThisWorkbook.Worksheets(Sheet_Name)
Set w2 = ThisWorkbook.Worksheets("FilterData")
With w
.Select
rw = 1
For Each f In w.AutoFilter.Filters
If f.On Then
Select Case f.Operator
Case 0
c1 = Right(f.Criteria1, Len(f.Criteria1) - 1)
op = ns
c2 = ns
Case xlFilterValues '> 2 valeurs sélectionnées
c1 = "xlFilterValues"
c2 = ns
c3 = ns
Case xlOr, xlAnd
c1 = Right(f.Criteria1, Len(f.Criteria1) - 1)
op = f.Operator
c2 = Right(f.Criteria2, Len(f.Criteria2) - 1)
Case Else
c1 = ns
op = xlFilterValues
c2 = ns
End Select
Else
c1 = ns
op = ns
c2 = ns
End If
w2.Cells(rw, 1) = c1
w2.Cells(rw, 2) = op
w2.Cells(rw, 3) = c2
rw = rw + 1
Next
End With
End Sub |
Partager