Bonjour à tous,
Voilà mon problème :
J'ai une liste dans une cellule "CHANGE" qui permet la création d'un "tableau" (coloré, bordure, etc).
Le problème c'est que la feuille de travail est protégée. Du coup, au changement de la cellule "CHANGE", j'ai le message d'erreur : "Cellule protégée, ôtez la protection".
Cette protection est nécessaire pour éviter qu'un utilisateur ne vienne bidouiller le fichier.
Du coup, pour dé-protéger ma feuille, je place un ActiveSheet.Unprotect dans "Worksheet_Change". Mais cela ne fonctionne pas.
Je voudrais réellement que la feuille ne soit dé-protégée qu'un instant, le temps de créer mon tableau; que le programme suive la logique :
Déprotection -> Création tableau -> Protection
Je ne peux pas joindre de fichier (confidentiel) mais voici ma logique d'enchaînement :
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect
Application.EnableEvents = False
If Target.Count = 1 Then
If Not Intersect(Target, Range("CHANGE")) Is Nothing Then
ActiveSheet.Unprotect
Call MaMacro
End If
ActiveSheet.Protect
End Sub
Sub MaMacro ()
ActiveSheet.Unprotect
'Mon code
ActiveSheet.Protect
End Sub
D'avance merci !