Bonjour Sylvanu,
J'ai retravaillé le code en adaptant une solution qui pourrait fonctionner avec des ElseIf. Malheureusement il n'affiche que des 0, comme s'il ne trouvait pas le résultat. Auriez vous une explication, car je ne comprends vraiment pas pourquoi cela ne fonctionne pas...
Function RelationDestination(Destination As Range)
Application.Volatile
Dim Plage2 As Range, Plage3 As Range, PremierIndex$
Set Plage2 = Sheets("Feuil2").Range("A5
7")
Set Plage3 = Sheets("Feuil3").Range("A6:B9")
If PremierIndex = Application.IfError(Application.VLookup(Destination, Plage2, 1, False), 0) <> 0 Then
RelationDestination = Application.IfError(Application.VLookup(PremierIndex, Plage3, 2, False), "Pas de correspondance")
ElseIf PremierIndex = Application.IfError(Application.VLookup(Destination, Plage2, 2, False), 0) <> 0 Then
RelationDestination = Application.IfError(Application.VLookup(PremierIndex, Plage3, 2, False), "Pas de correspondance")
ElseIf PremierIndex = Application.IfError(Application.VLookup(Destination, Plage2, 3, False), 0) <> 0 Then
RelationDestination = Application.IfError(Application.VLookup(PremierIndex, Plage3, 2, False), "Pas de correspondance")
ElseIf PremierIndex = Application.IfError(Application.VLookup(Destination, Plage2, 4, False), 0) <> 0 Then
RelationDestination = Application.IfError(Application.VLookup(PremierIndex, Plage3, 2, False), "Pas de correspondance")
End If
End Function
En vous remerciant par avance