Bonjour,
Un exemple.
Cdlt.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rw
If Target.Address = "$A$2" And Not IsEmpty(Target) Then
On Error Resume Next
rw = Application.Match(Target.Value, Sheet2.Columns(1), 0)
If IsError(rw) Then
MsgBox "Le n° de classe " & Target.Value & " est inconnu !", 64, "Information"
Else
Target.Offset(, 1).Resize(, 17).Value = Sheet2.Cells(rw, 2).Resize(, 17).Value
End If
End If
End Sub