Function Protege_Formule(Target As Range) As Boolean
Dim Formules() As String
Dim I As Long
Application.EnableEvents = False
ReDim Formules(Target.Count)
For I = 1 To Target.Count ' passe pour sauvegarder
Formules(I) = Target(I).Formula ' les cellules modifiées
Next
Application.Undo ' On restaure toutes les anciennes valeurs
For I = 1 To Target.Count
If Not Target(I).HasFormula Then ' Si l'ancienne valeur n'a pas de formule
Target(I).Formula = Formules(I) ' On restitue la cellule sauvegardée
Protege_Formule = True ' Une restitution a été effectuée
End If
Next
Application.EnableEvents = True
End Function