Option Explicit
Sub MiseAJour()
Dim wsPortF As Worksheet, wsMaj As Worksheet
Dim rLabelPortF As Range, rLabelMaj As Range
Dim rng As Range
Dim iMatch As Variant
Set wsPortF = Worksheets("PORTF")
Set wsMaj = Worksheets("MAJ")
With wsPortF: Set rLabelPortF = .Range(.[B2], .Cells(Rows.Count, "B").End(xlUp)): End With
With wsMaj: Set rLabelMaj = .Range(.[B2], .Cells(Rows.Count, "B").End(xlUp)): End With
For Each rng In rLabelPortF
iMatch = Application.Match(rng, rLabelMaj, 0)
If IsError(iMatch) Then
MsgBox "La valeur " & rng & " ne se trouve pas dans la liste de mise à jour", vbInformation + vbOKOnly, "Mie à Jour"
Else
rng.EntireRow.Resize(, 8).Value = wsMaj.[A1:H1].Offset(iMatch).Value
End If
Next rng
End Sub