salut,
J'ai une table de saisie puis des onglets (SJF/SJM/SSF/SSM/...) qui me servent à extraire les données de la précédente table.
Actuellement, sur ces onglets, j'ai un filtre auto en colonne E (filtre : S,A,N ou P) et un en G (JF, JM, SF, ...).
J'aurai aimé rajouter un filtre en colonne B et C.
Colonne B (Lieu) dépendra de ce qui est inscrit sur l'onglet Accueil en G18 (c'est une liste déroulante)
Colonne C (Date) dépendra de ce qui est inscrit sur l'onglet Accueil en G21 (liste déroulante également).
Je pensais rajouter
.UsedRange.AutoFilter Field:=2, Criteria1:=Range("Lieu")
.UsedRange.AutoFilter Field:=3, Criteria1:=Range("Dateshow")
à
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)
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
Mais visiblement ce n'est pas ça ^^'
en effet, toutes mes données disparaissent ...
Ci-joint, mon fichier si ça peut aider.
https://www.cjoint.com/c/HBlsteHBROb
Cdlt