Bonsoir Patricia, Minick, le Forum
Je suggère d'éviter de sélectionner les feuilles une à une comme tu le fais Minick, c'est une question d'efficacité, car même avec screenudating à false, çà n'est pas conseillé pour obtenir un code optimisé.
Voici ce que çà donne en partant du principe comme que l'on veut appliquer la protection à toutes les feuilles du classeur :
Sub Protecting()
Dim x As Byte
For x = 1 To ThisWorkbook.Worksheets.Count
With Sheets(x)
.Unprotect
.Cells.Locked = False
.Range("A3:B25,E3:E25,G3:G25,M3:M25,Q3:Q25,R3:U25,X3:X25,A26:X27,A1:X3").Locked = True
.Protect
End With
Next x
End Sub
Maintenant si, par exemple, Patricia à une feuille "Interface" qui ne doit pas être touchée par cette procédure :
Sub Protecting()
Dim x As Byte
For x = 1 To ThisWorkbook.Worksheets.Count
If Worksheets(x).Name <> "Interface" Then
With Sheets(x)
.Unprotect
.Cells.Locked = False
.Range("A3:B25,E3:E25,G3:G25,M3:M25,Q3:Q25,R3:U25,X3:X25,A26:X27,A1:X3").Locked = True
.Protect
End With
End If
Next x
End Sub
Enfin il y a plusieurs possibilités, mais dans la mesure du possible il est toujours conseillé d'éviter les Select et autres Activate, sauf dans certains cas de figures sous Excel 97 comme le fait remarquer zon dans un autre fil.
Bon Samedi soir à tous et toutes
@+Thierry