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
| Sub filtre_principal()
Set wb = ThisWorkbook
Set wbs = wb.Worksheets("CC2012")
Set wbm = wb.Worksheets("février")
With wbs
Set PlageBase = .Range(.Cells(1, 1), .Cells(1, 1)).End(xlDown).Resize(, 39)
Set utile = .Range(.Cells(4, 1), .Cells(.Rows.Count, 39).End(xlDown))
End With
' ------------effectuer le filtre principal
Call Tri_principal
'------------enlève les éventuels anciens filtres
With PlageBase
If wbs.FilterMode = True Then
.AutoFilter
End If
'------------effectue le filtre
.AutoFilter Field:=5, Criteria1:=Array("1", "2", "3", "="), Operator:=xlFilterValues
.AutoFilter Field:=6, Criteria1:=Array("="), Operator:=xlFilterValues, Criteria2:=Array(1, "2/1/2012")
End With
'-----------Affiche les colonnes colonnes groupées des feuilles
wbs.Activate
wbs.Select
selection.EntireColumn.Hidden = False
wbm.Activate
wbm.Select
selection.EntireColumn.Hidden = False
'-----------Copie les lignes visibles du filtre
Set Plagefiltre = utile.SpecialCells(xlCellTypeVisible)
Plagefiltre.Copy wbm.Range("A5")
wbs.ScrollColumn ("B:D")
wbs.ScrollColumn ("L:N")
wbs.ScrollColumn ("P:R")
wbs.ScrollColumn ("Z:AJ")
wbs.ScrollColumn ("Z:AJ")
wbs.ScrollColumn ("AL:AN")
wbm.ScrollColumn ("B:D")
wbm.ScrollColumn ("L:N")
wbm.ScrollColumn ("P:R")
wbm.ScrollColumn ("Z:AJ")
wbm.ScrollColumn ("Z:AJ")
wbm.ScrollColumn ("AL:AN")
End Sub |
Partager