Bonsoir,
Sur un projet, j'avais une problématique quasi similaire :
A savoir, ne laissez la saisie que ds certaine zone pour des utilisateurs non accoutumé à Excel, tant pour éviter d'effacer des formules par inadvertance, que pour éviter des erreurs suite à de mauvaises saisies.
2 bout de codes ci-dessous :
l'un qui empêche le copié-collé dans certaines zones si sélection : (ws1 étant le Shortname de la feuille, le corriger le cas échéant)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(ws1.Range("D11:K11,C18:J18,C31:K31,C34:J34,C49:J49"), Target) Is Nothing Then
If Application.CutCopyMode <> False Then Cancel = True
End If
End Sub
l'autre protège la feuille si sélection dans une cellule d'une liste : (ws1 étant le Shortname de la feuille, le corriger le cas échéant)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set entrees = ws1.Range("C3:O3,C4:O4,C5:O5,C6:O6,C7:O7,D12:K12,D13:K13,C8,C9,G15,C19:J30,M19:M30,C35:J46,C50:J53")
Set nonmodif = ws1.Range("B18,D15,D11:K11,C18:J18,C31:K31,C34:J34,C49:J49") 'zone qui présente des formules à protéger quoi qu'il en soit
If Not Application.Intersect(Target, nonmodif) Is Nothing Then 'si selection reprend une zone qui présente une formule (empeche effacement impromptu)
ws1.Protect AllowSorting:=True
ElseIf Not Intersect(Target, entrees) Is Nothing Then
ws1.Unprotect
End If
End Sub
Ces 2 codes sont à mettre sur la Feuille concernée (car procédure événementielle) et non ds un module !
En espérant que cela pourra vous aider.
Bien Cordialement,