Changer couleur police cellules quand feuille est protégée

Bonjour à tous,

Je souhaiterais écrire une VBA pour modifier la couleur de la police de certaines cellules lorsque ma feuille est protégée par le mot de passe.

Je joins un fichier exemple pour simplifier la question et la réponse.

Merci de m'aider

Bien cordialement,

Patrick

Bonjour

La protection de la feuille n'est pas un événement interceptible

il faut donc passer par un Private Sub Worksheet_Activate()

en venant d'une autre feuille

Code ThisWorkBook

Private Sub Workbook_Open()
Sheets("Feuil2").Activate
End Sub

A la sélection de la Feuil1, le code teste si la feuille est protégée et masque/affiche

Private Sub Worksheet_Activate()
If Sheets("Feuil1").ProtectContents = True Then
Sheets("Feuil1").Unprotect "YYY"
Range("B4,D7,C12,F15").Font.ColorIndex = 19
ActiveSheet.Protect "YYY"
ElseIf Sheets("Feuil1").ProtectContents = False Then
Range("B4,D7,C12,F15").Font.ColorIndex = 1
End If
End Sub

Pas trouvé mieux.

Cordialement

Merci Amadeus pour ce Grand coup de main.

Le résultat est celui que j'escomptais.

Une précision toutefois : ce fichier Excel ne s'utilise que verrouillé. Autrement dit, lorsque j'ouvre le fichier Excel, toutes les feuilles sont verrouillées d'avance. Il n'est déverrouillé que pour apporter une amélioration.

Je ne sais pas si cela change quelque chose dans le code Worksheet que tu me proposes ?

je te prie de m'excuser d'avoir tardé à répondre ; je suis en vacances sur une île et je n'ai pas toujours une connexion Internet.

Merci et bien amicalement

Patrick

Rechercher des sujets similaires à "changer couleur police quand feuille protegee"