Private Sub Worksheet_Change(ByVal Target As Range)
If Left$(Target.Address, 3) = "$E$" Then
If Target = "" Then Exit Sub
If Application.WorksheetFunction.Max(Sheets("Listing").Range("$A:$A")) < Target Then
Target.EntireRow.ClearContents
Exit Sub
End If
'recherche dans la feuille listing les infos correspondantes au n° de dossard pour création de série
Range("F" & Target.Row).Value = Evaluate("INDEX(OFFSET(listing!$b$1,0,0,COUNTA(listing!$A:$A),1),MATCH($E$" & Target.Row & ",OFFSET(listing!$A$1,0,0,COUNTA(listing!$A:$A)),1))")
Range("G" & Target.Row).Value = Evaluate("INDEX(OFFSET(listing!$c$1,0,0,COUNTA(listing!$A:$A),1),MATCH($E$" & Target.Row & ",OFFSET(listing!$A$1,0,0,COUNTA(listing!$A:$A)),1))")
Range("H" & Target.Row).Value = Evaluate("INDEX(OFFSET(listing!$e$1,0,0,COUNTA(listing!$A:$A),1),MATCH($E$" & Target.Row & ",OFFSET(listing!$A$1,0,0,COUNTA(listing!$A:$A)),1))")
Range("I" & Target.Row).Value = Evaluate("INDEX(OFFSET(listing!$F$1,0,0,COUNTA(listing!$A:$A),1),MATCH($E$" & Target.Row & ",OFFSET(listing!$A$1,0,0,COUNTA(listing!$A:$A)),1))")
Range("J" & Target.Row).Value = Evaluate("INDEX(OFFSET(listing!$G$1,0,0,COUNTA(listing!$A:$A),1),MATCH($E$" & Target.Row & ",OFFSET(listing!$A$1,0,0,COUNTA(listing!$A:$A)),1))") & "-" & Evaluate("INDEX(OFFSET(listing!$H$1,0,0,COUNTA(listing!$A:$A),1),MATCH($E$" & Target.Row & ",OFFSET(listing!$A$1,0,0,COUNTA(listing!$A:$A)),1))")
Range("K" & Target.Row).Value = Evaluate("INDEX(OFFSET(listing!$K$1,0,0,COUNTA(listing!$A:$A),1),MATCH($E$" & Target.Row & ",OFFSET(listing!$A$1,0,0,COUNTA(listing!$A:$A)),1))")
Range("L" & Target.Row).Value = Evaluate("INDEX(OFFSET(listing!$J$1,0,0,COUNTA(listing!$A:$A),1),MATCH($E$" & Target.Row & ",OFFSET(listing!$A$1,0,0,COUNTA(listing!$A:$A)),1))")
End If
End Sub