Private Sub Worksheet_Change(ByVal Target As Range)
Dim dte As Date, row As Range
On Error Resume Next
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("E7:AI38")) Is Nothing Then
dte = Cells(5, Target.Column)
nom = Cells(Target.row, 1)
prénom = Cells(Target.row, 2)
indnom = Target.row - 6 ' << ?????
curseur = Cells(Target.row, Target.Column)
curseur = Target.Value
a = Sheets("PAR JOUR").Cells.Find(dte, LookIn:=xlValues, lookat:=xlWhole).row
With Sheets("par jour")
b = .Range("G" & a + 18).End(xlUp).row + 1 ' denière ligne de la colonne G
bi = .Range("i" & a + 18).End(xlUp).row + 1 ' denière ligne de la colonne i
If bi > b Then b = bi
If (curseur = "m") Then
.Cells(b, "G") = nom & " " & prénom
.Cells(b, "i") = ""
Exit Sub
End If
If (curseur = "am") Then
.Cells(b, "i") = nom & " " & prénom
.Cells(b, "G") = ""
Exit Sub
End If
If (curseur = "x") Then
.Cells(b, "G") = nom & " " & prénom
.Cells(b, "i") = nom & " " & prénom
Exit Sub
End If
If (curseur = "") Then
X = Sheets("PAR JOUR").Range(Sheets("PAR JOUR").Cells(a, 7), Sheets("PAR JOUR").Cells(b, 7)).Find(nom & " " & prénom).row
xx = Sheets("PAR JOUR").Range(Sheets("PAR JOUR").Cells(a, 9), Sheets("PAR JOUR").Cells(b, 9)).Find(nom & " " & prénom).row
On Error GoTo 0
If IsEmpty(X) = True Then X = xx
With Sheets("PAR JOUR")
' copie la plage dessous sur l'enregistrement à effacer
.Range("G" & X + 1 & ":i" & a + 18).Copy
.Range("G" & X & ":i" & a + 18).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End With
End If
End With
End If
End Sub