Bonjour le fil, bonjour le forum,
Bien trop nul en formule pour pouvoir t'aider. Je te propose donc une solution VBA avec l'événementielle Change ci-dessous qui réagit à chaque changement dans R5.
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Dim PL As Range 'déclare la variable PL (PLage)
Dim CEl As Range 'déclare la variable CEL (CELlule)
Dim TEST As Boolean 'déclare la variable TEST
If Target.Address <> "$R$5" Then Exit Sub 'si le changement a lieu ailleurs qu'en R5, sort de la procédure
If Target.Value = "" Then Range("I3:L3").ClearContents: Exit Sub 'si R5 est effacée, efface I3:L3 et sort de la procédure
Set PL = Range("D6:P93") 'définit la plage PL
For Each CEl In PL 'boucle sur toutes les cellue CEL de la plage PL
If CEl.Value = Target.Value Then 'si la cellule a la même valeur que la cible (R5)
'renvoie dans R3 le numéro du CAB, son numéro # et le numéro de la ligne
Range("I3").Value = CEl.Value & " (" & CEl.End(xlUp).Value & "), Ligne : " & CEl.Row & "."
TEST = True 'définit la variable TEST
Exit For 'sort de la bojucle
End If 'fin de la condition
Next CEl 'prochaine celllue de la boucle
If TEST = False Then Range("I3").Value = "INEXISTANT" 'si test est [faux] écrit "INEXISTANT en I3
End Sub
Le fichier :