Bonjour sidi13, le forum,
Un essai.....
Sub test()
Dim lig As Long, dl As Long
Dim col As Integer, dercol As Integer
Application.ScreenUpdating = False
With Sheets("Feuil1")
dl = .Range("A" & Rows.Count).End(xlUp).Row
dercol = .Cells(1, Cells.Columns.Count).End(xlToLeft).Column
For col = 2 To dercol
Select Case .Cells(1, col).Value
Case Is = "E0"
.Range(Cells(6, col), Cells(dl, col)).FillDown
Case Is = "E1"
If CDate(.Cells(2, col)) > CDate(.Cells(4, 6)) + 20 Then .Range(Cells(6, col), Cells(dl, col)).FillDown
End Select
Next col
End With
End Sub
Cordialement,