Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
If Application.Intersect(Target, Range("E22:H27")) Is Nothing Then Exit Sub 'si le changement à lieu aillerus que dans la plage E22:H27, sort de la procédure
ActiveSheet.Unprotect 'déprotège l'onglet
Cells(Target.Row, "E").Resize(1, 4).Locked = True 'verrouille la ligne (colonne E à H) modifiée
ActiveSheet.Protect 'protège l'onglet
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'au changement de sélection dans l'onglet
If Application.Intersect(Target, Range("E22:H27")) Is Nothing Then Exit Sub 'si la sélection à lieu aillerus que dans la plage E22:H27, sort de la procédure
If Target.Cells.Count > 1 Then Target(1, 1).Select 'si plus d'une seule cellule sélectionnée, ne sélectionne que la première
End Sub