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. (Accueil G18 et G21)
Le but de ces lignes était de rajouter une valeur filtre en fonction d'une cellule située sur une autre feuille.
J'ai la macro suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
https://www.cjoint.com/c/HBlnqVLgCUb

cdlt