Bonjour,
Voici la macro modifiée. Cependant, les lignes 57 et 58 ddéverrouillées auparavant sont restées en l'état.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range, Arr, I As Long, MDP As String
MDP = "plomberie"
ActiveSheet.Protect MDP, userinterfaceonly:=True
If Intersect(Target, [S7:MN7]) Is Nothing Then Exit Sub
For Each C In Target
If C.Row = 7 Then
Select Case C.Value
Case "TERMINÉ"
Arr = Array(56, 59, 60, 64, 70, 79, 80, 83, 84, 85, 90)
For I = 0 To UBound(Arr)
If Arr(I) = 90 Then
Cells(Arr(I), C.Column).Resize(, 3).Locked = True
Else
Cells(Arr(I), C.Column).Locked = True
End If
Next I
Case Else
Arr = Array(56, 59, 60, 64, 70, 79, 80, 83, 84, 85, 90)
For I = 0 To UBound(Arr)
If Arr(I) = 90 Then
Cells(Arr(I), C.Column).Resize(, 3).Locked = False
Else
Cells(Arr(I), C.Column).Locked = False
End If
Next I
End Select
End If
Next C
' ActiveSheet.Protect MDP
End Sub
Daniel