Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Range('A3:A' & Range('A65536').End(xlUp).Row)) Is Nothing Then Exit Sub
For x = 1 To 22
Target.Offset(0, x).Value = Workbooks('Classeur2.xls').Sheets(CStr(Target.Value)).Cells(Target.Row - 1, x + 1).Value
Next x
End Sub