Private Sub Worksheet_Change(ByVal Target As Range)
Dim DtMod, TDatM(), C&, M&, TMois(1 To 1, 1 To 12)
If Intersect([D:BM], Target) Is Nothing Then Exit Sub
If Cells(Target.Row, "C") = "DATE MODIF" Then Exit Sub
If Not IsEmpty(Target(1, 1).Value) Then DtMod = Date
Set Target = Target(2, 1)
If Cells(Target.Row, "C") <> "DATE MODIF" Then
If Not IsEmpty(Target.Value) Then DtMod = Date
Set Target = Target(2, 1)
ElseIf Not IsEmpty(Target(-1, 1).Value) Then
DtMod = Date
End If
If Cells(Target.Row, "C") <> "DATE MODIF" Then Exit Sub
Target.Value = DtMod
TDatM = Intersect([D:BM], Target.EntireRow).Value
For C = 1 To UBound(TDatM, 2)
If IsDate(TDatM(1, C)) Then M = Month(TDatM(1, C)): TMois(1, M) = TMois(1, M) + 1
Next C
Application.EnableEvents = False
[CE:CP].Rows(Target.Row - 2).Value = TMois
Application.EnableEvents = True
End Sub