1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If Application.Intersect(Target, Range("A22:A1004, C22:C1004")) Is Nothing Then Exit Sub
If .Count > 1 Then Exit Sub
Application.EnableEvents = False
If .Value = "" Then .Offset(, 1).Value = "" Else .Offset(, 1) = Date
.EntireRow.Locked = False 'déverrouille toute la ligne
'verrouille en fonction
If .Column = 1 Then Union(.Offset(, 1), Range(.Offset(, 4), .Offset(, 42))).Locked = Target.Value <> "" 'si colonne A
If .Column = 3 Then Union(.Offset(, 1), Range(.Offset(, 41), .Offset(, 45))).Locked = Target.Value <> "" 'si colonne C
Application.EnableEvents = True
End With
End Sub |
Partager