Option Explicit
Sub madate()
Dim plage As Range, Ref#, R&, malign As Integer, plage_H As Range, plage_V As Range
With Feuil1
'on assume que la plage est triée en ordre croissant
Set plage_H = .Range("dates_H") ' nommer plage cellules dates horizontales
Set plage_V = .Range("dates_V") ' nommer plage cellules dates verticales
Ref = .Range("D4") ' date du jour
R = WorksheetFunction.Match(Ref, plage_V, 1)
plage_V(R).Select
malign = ActiveCell.Row
plage_H(R).Offset(1, 0).Select
ActiveWindow.ScrollColumn = ActiveCell.Column
ActiveWindow.ScrollRow = malign
End With
End Sub