Option Explicit
Sub test()
Dim s As String, x As Range, n As Name
s = InputBox("Valeur ou plage nommée recherchée...")
If s = "" Then Exit Sub
On Error Resume Next
Set n = Names(s)
On Error GoTo 0
If Not n Is Nothing Then Application.Goto n.RefersToRange, True: Exit Sub
Set x = Cells.Find(s, , xlValues, xlPart, , , False)
If Not x Is Nothing Then
For Each n In Names
If Not Intersect(x, n.RefersToRange) Is Nothing Then _
Application.Goto n.RefersToRange, True: Exit For
Next n
End If
End Sub