Function CHEVAUCHE(zone As Range, P As Range) As Boolean
If zone(1) = "" Or zone(2) = "" Then Exit Function
Dim deb, fin, zd!, zf!, i As Byte, d!, f!
deb = Array(P(1), P(3), P(5), P(7))
fin = Array(P(2), P(4), P(6), P(8))
zd = Round(zone(1), 6) 'arrondi à la 6ème décimale
zf = Round(zone(2), 6)
For i = 0 To UBound(deb)
If Intersect(zone, P(1 + 2 * i).Resize(, 2)) Is Nothing _
And deb(i) <> "" And fin(i) <> "" Then
d = Round(deb(i), 6)
f = Round(fin(i), 6)
If zd > d And zd < f Or zf > d And zf < f Or _
zd <= d And zf >= f Then CHEVAUCHE = True: Exit Function
End If
Next
End Function