Private Sub Worksheet_Activate()
Dim plage As Range, i&, j As Variant
Set plage = Sheets("Catalogue ").[A1].CurrentRegion 'un espace superflu dans le nom de la feuille !!!
With [A1].CurrentRegion
For i = 2 To .Rows.Count
j = Application.Match(Cells(i, 2), plage.Columns(2), 0)
If IsNumeric(j) Then plage(j, 3).Copy Cells(i, 3)
Next
End With
End Sub