Public Function Fnd(ByRef SearchRng As Range, ByVal What As String, _
Optional ByVal LookAt As XlLookAt = xlWhole, Optional ByVal MatchCase As Boolean = True, _
Optional ByVal Mandatory As Boolean = True, Optional ByVal AlwSvrl As Boolean = False) As Range
Dim Rng As Range
Set Rng = SearchRng.Find(What, LstCel(SearchRng), xlValues, LookAt, xlByRows, xlNext, MatchCase)
If Rng Is Nothing Then Exit Function Else Set Fnd = Rng.MergeArea
If AlwSvrl Then
Do While Intersect(Fnd, SearchRng.FindNext(Rng)) Is Nothing
Set Rng = SearchRng.FindNext(Rng): Set Fnd = Union(Fnd, Rng.MergeArea): Loop
Else
'Test + erreur le cas échéant
End If
End Function