Sub MAJ()
Dim d As Object, c As Range, v, s, col%, plage As Range
Set d = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
For Each c In Range("E2", Range("E" & Rows.Count).End(xlUp)(2))
If c <> "" And c(1, 2) <> "" Then d(CStr(c)) = c(1, 2)
Next c
For col = 9 To 256
Set plage = Range(Cells(2, col), Cells(Rows.Count, col).End(xlUp)(2))
If Application.CountA(plage) = 0 Then Exit For
For Each c In plage
If c <> "" Then
v = Left(c, InStr(c & " ", " ") - 1)
s = Split(v, "x")
If UBound(s) > 0 Then c = v & " - Rep : " & d(s(1))
End If
Next c, col
Columns("I:IV").AutoFit 'ajustement largeurs
End Sub