Sub ChercheDate()
Dim cible As Date, P As Range, tablo, i&, x As Variant, lig&, maxi As Date
cible = Date 'modifiable
Set P = Intersect(ActiveSheet.UsedRange, [J:J])
If P Is Nothing Then Exit Sub
tablo = P.Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
For i = 1 To UBound(tablo)
x = tablo(i, 1)
If IsDate(x) Then
If x < cible + 1 Then
If Not P(i).Rows.Hidden Then
If Int(x) = cible Then
lig = i
Exit For
ElseIf x > maxi Then
maxi = x
lig = i
End If
End If
End If
End If
Next
If lig Then P(lig).Select 'pour tester
End Sub