Private Sub Worksheet_Change(ByVal Target As Range)
'--------------------------------------------------------------------------------- Dim oLig As Long
oLig = Target.Row
'Vérifier qu'une seule cellule est sélectionnée, sinon sortir
If Target.Count <> 1 Then Exit Sub
'Effacer les cellules suivantes en cas de modification de la cellule active
If oLig > 4 Then 'à partir de la ligne 4
Application.EnableEvents = False
Select Case Target.Column
Case 7 'Modification en colonne G
Range(Cells(oLig, 8), Cells(oLig, 13)).ClearContents 'efface H à M
Case 8 'Modification en colonne H
Range(Cells(oLig, 9), Cells(oLig, 13)).ClearContents 'efface I à M
Case 9 'Modification en colonne I
Range(Cells(oLig, 10), Cells(oLig, 13)).ClearContents
Case 10 'Modification en colonne J
Range(Cells(oLig, 11), Cells(oLig, 13)).ClearContents
Case 11 'Modification en colonne K
Range(Cells(oLig, 12), Cells(oLig, 13)).ClearContents
Case 12 'Modification en colonne L
Cells(oLig, 13).ClearContents
Case 13 'Modification en colonne M
Cells(oLig, 12).ClearContents
End Select
Application.EnableEvents = True
End If