Bonjour,
Comme on a pas toutes les infos, je vous propose une réponse vague mais qui permet d'avoir une idée, soit avec la fonction recherchev de VBA, soit avec la méthode offset (decaler) de VBA en partant de votre code :
Dim Cel As Range
Set Cel = Sheets("BD").Range("Matricule:Collegues").Find(What:=Sheets("Feuil1").Range("C1"), LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
If Cel Is Nothing Then
Sheets("Feuil1").Range("C4") = "#NA!"
Else
Sheets("Feuil1").Range("C4") = application.vlookup(Cel, plage, 2, 0) 'EXEMPLE
'Sheets("Feuil1").Range("C4") = Cel.offset(0, 1).value 'renvoie valeur décalée d'une colonne
end if
Sachant qu'ici, le mieux est d'éviter tant que possible la méthode find et de recourir directement au vlookup ou plutot au index equiv (pour éviter de faire le même travail 2 fois) :
if application.countif(colonnerecherche, Sheets("Feuil1").Range("C1")) > 0 then 'si valeur existe dans colrecherche
Sheets("Feuil1").Range("C4") = application.index(colonnerenvoi, application.match(Sheets("Feuil1").Range("C1"), colonnerecherche, 0)) 'index equiv
end if
Cdlt,