Je travaille depuis quelques temps sur un programme de suivi d'actions techniques, qui est presque achevé d'ailleurs.
J'ai donc souhaité protèger mes feuilles en écriture pour forcer l'utilisateur à passer par un USF qui incrémente mes cellules automatiquement.
Sauf que ma protection fonctionne tellement bien que lorsque je veux incrémenter la feuille à partir de l'USF, je ne peux plus...
Quelqu'un saurait-il comment compléter le code pour qu'un MSGBOX s'affiche si l'utilisateur essaye de modifier une feuille directement, mais sans bloquer l'incrémentation à partir de l'USF?
Merci d'avance.
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Static vUndo As Boolean
If vUndo Then
vUndo = Not vUndo
Else
MsgBox "Vous ne pouvez pas modifier cette feuille, merci d'utiliser le formulaire"
vUndo = True
End If
End Sub
Re : Interdire saisie directe dans feuille mais pas l'incrémentation d'un USF
Bonjour Maud, bonjour le forum,
Pourqui ne pas utiliser une protection avec UserInterfaceOnly = True. Cela veut dire que la feuille ne peut-être modifiée que par une UserForm. À placer dans la macro événementielle Open du composant Thisworkbook car sinon ce n'est plus actif à la réouverture du classeur. Exemple à adapter à ton cas :
Code:
Private Sub Workbook_Open()
Sheets("Feuil1").Protect Password:="toto", UserInterfaceOnly:=True
End Sub