Re,
Voici tes deux Sub modifiées et qui fonctionne chez moi sur ton classeur :
Sub Nouvelle_année_janvier()
Dim Cel As Range
For Each Cel In Range("H1:H29")
If Cel.Value <> "" Then Cel.Offset(0, -4).Value = DateSerial(Year(Cel.Value) + 1, Month(Cel.Value), Day(Cel.Value))
Next Cel
Range("H1:H20").Value = Range("D1:D20").Value
End Sub
Sub Ancienne_année_janvier()
Dim Cel As Range
For Each Cel In Range("H1:H29")
If Cel <> "" Then Cel.Offset(0, -4).Value = DateSerial(Year(Cel.Value) - 1, Month(Cel.Value), Day(Cel.Value))
Next Cel
Range("H1:H20").Value = Range("D1:D20").Value
End Sub