Option Explicit
Dim Sht As Worksheet
Public x
Public allplaces
Sub Filtrage()
Dim Dlig As Long
' Pour chaque feuille du classeur
For Each Sht In ThisWorkbook.Sheets
' Si la feuille n'est pas "Accueil"
If Sht.Name <> "Accueil" And Sht.FilterMode Then
' Déprotéger la feuille
Sht.Unprotect
' Récupérer la dernière ligne de la feuille
Dlig = Sht.Range("C" & Rows.Count).End(xlUp).Row
' Filtrer les lignes
Sht.Range("C10:C" & Dlig).AutoFilter Field:=3, Criteria1:=Array(x, allplaces), Operator:=xlFilterValues
' protéger la feuille
Sht.Protect
End If
Next Sht
End Sub
Private Sub ComboBox1_Change()
If ComboBox1 = "" Or ComboBox1 = Worksheets("Paramètres").Range("C4").Value Then
' Pour chaque feuille du classeur
For Each Sht In ThisWorkbook.Sheets
' Si la feuille n'est pas "Accueil"
If Sht.Name <> "Accueil" And Sht.FilterMode Then
' Déprotéger la feuille
Sht.Unprotect
' Afficher tous les enregistrement
Sht.ShowAllData
' protéger la feuille
Sht.Protect
End If
Next Sht
End If
x = ComboBox1
allplaces = Worksheets("Paramètres").Range("C3").Value
Call Filtrage
End Sub