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
| Sub Filtre_avancé()
'
' Filtre_avancé Macro
' Applique un filter sur la colonne G - Critère = 2 dernière lettres du nom de la feuille: exemple: SJF==>JF
Application.ScreenUpdating = False
For Each ws In Sheets
If ws.Name <> "Accueil" And ws.Name <> "Tableau de saisie" And ws.Name <> "Catalogue" And ws.Name <> "Tableau de données" Then
With ws
.UsedRange.AutoFilter
.UsedRange.AutoFilter Field:=5, Criteria1:=Left(ws.Name, 1)
.UsedRange.AutoFilter Field:=7, Criteria1:=Right(ws.Name, 2)
.UsedRange.AutoFilter Field:=2, Criteria1:='Accueil'!$G$18
.UsedRange.AutoFilter Field:=3, Criteria1:='Accueil'!$G$21
Compteur = 0
For Each ele In .UsedRange.Offset(1, 0).Columns(1).SpecialCells(xlCellTypeVisible)
If ele.Offset(0, 1) <> "" Then
ele.FormulaR1C1 = Compteur + 1
ele.NumberFormat = "000"
Compteur = Compteur + 1
End If
Next ele
End With
End If
Next ws
Sheets("Accueil").Select
Application.ScreenUpdating = True
End Sub |
Partager