Salut,
J'ai une feuille et tout un tas d'onglets.
j'ai une macro filtre élaboré qui joue en fonction de l'intitulé de l'onglet.
Je voulais rajouter deux lignes mais ça ne fonctionne visiblement pas.
Le but de ces lignes était de rajouter une valeur filtre en fonction d'une cellule située sur une autre feuille.
J'ai fait la macro suivante :
J'ai une feuille et tout un tas d'onglets.
j'ai une macro filtre élaboré qui joue en fonction de l'intitulé de l'onglet.
Je voulais rajouter deux lignes mais ça ne fonctionne visiblement pas.
Le but de ces lignes était de rajouter une valeur filtre en fonction d'une cellule située sur une autre feuille.
J'ai fait la macro suivante :
VB:
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