Bonjour,
Voir fichier.
Cdlt.
Private Sub Workbook_Open()
Dim ws As Worksheet
Application.ScreenUpdating = False
For Each ws In ThisWorkbook.Worksheets
If ws.Visible = True Then
If ws.ProtectContents Then
UnProtectWorksheet ws
End If
If Not ws.AutoFilterMode Then
ws.Range("A2").AutoFilter
Else
If ws.FilterMode Then ws.ShowAllData
End If
ProtectWorksheet ws
End If
Next ws
Application.Goto Worksheets("basededonnée").Cells(1)
End Sub
Option Private Module
Public Const PWD As String = "excel"
Public Sub ProtectWorksheet(ws As Worksheet)
ws.Protect _
Password:=PWD, _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
AllowSorting:=True, _
AllowFiltering:=True
End Sub
Public Sub UnProtectWorksheet(ws As Worksheet)
ws.Unprotect _
Password:=PWD
End Sub