Private Sub Worksheet_Change(ByVal Target As Range)
'Si la modif ne porte que sur une cellule :
If Target.Count = 1 Then
With Target
Select Case .Column
'si la modification porte sur une des colonnes données par les N° ci-dessous
Case 2, 3, 5, 10 To 13, 15 To 21
'Si la cellule de la colonne A est une date (sur la même ligne)
If VarType(.Offset(, -(.Column - 1))) = vbDate Then
Application.EnableEvents = False
'si la cellule du dessus est vide, la remplir avec la valeur de la cellule 2 lignes au-dessus
If .Offset(-1) = "" Then .Offset(-1) = .Offset(-2)
Application.EnableEvents = True
End If
Case Else
Exit Sub
End Select
End With
End If
End Sub