Bonjour,
En attendant une meilleure solution, essaye le code suivant dans le module de "Feuil1" :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If (Target <> "") Then
Target.Offset(, 1).FormulaR1C1 = "=IFERROR(INDEX(Feuil2!C[0],MATCH(RC[-1],Feuil2!C[-1],0)),"""")"
Target.Offset(, 3).FormulaR1C1 = "=IFERROR(INDEX(Feuil2!C[0],MATCH(RC[-3],Feuil2!C[-3],0)),"""")"
Target.Offset(, 4).FormulaR1C1 = "=IFERROR(INDEX(Feuil2!C[0],MATCH(RC[-4],Feuil2!C[-4],0)),"""")"
Target.Offset(, 5).FormulaR1C1 = "=IFERROR(INDEX(Feuil2!C[0],MATCH(RC[-5],Feuil2!C[-5],0)),"""")"
Else
Target.Offset(, 1).FormulaR1C1 = ""
Target.Offset(, 3).FormulaR1C1 = ""
Target.Offset(, 4).FormulaR1C1 = ""
Target.Offset(, 5).FormulaR1C1 = ""
End If
End If
End Sub
Si tu veux avoir uniquement le résultat au lieu des formules dans les colonnes, dis-nous, on pourra le faire.
Remarque : il faut éviter d'utiliser deux colonnes pour un champs et de les fusionner . Par exemple "Désignation". Surtout quand on utilise ces tables comme une base sur laquelle on fait des recherches. En général, une colonne peut contenir assez de caractères pour un champ comme "Désignation". La logique de base => 1 champs d'une base = 1 colonne