J'ai utilisé les underscore pour contrer le problème des codes fournisseurs (14, 144 - 23, 234). Mais avec la méthode utilisée, lorsqu'une valeur n'est pas remplacée, elle multiplie les underscore de part et d'autre. Il faut donc ajouter un autre replace dans la macro Remplacement.
With Sheets("frns") '<<< en dur
dl = .Cells(.Rows.Count, 1).End(xlUp).Row
arrRmplt = .Range("A1:B" & dl).Value '<<< en dur
End With
'POUR EVITER LES REMPLACEMENTS INDESIRABLES
For i = LBound(arrRmplt) To UBound(arrRmplt)
arrRmplt(i, 1) = "_" & arrRmplt(i, 1) & "_"
Next i
'Alimentation tableau données (colonne source) - Boucle de remplacement sur chaque item - Collage (colonne destination)
With Sheets(NomFeuille)
dl = .Cells(.Rows.Count, 1).End(xlUp).Row
arrData = .Cells(1, colSource).Resize(dl).Value
For x = LBound(arrData) + 1 To UBound(arrData)
For p = LBound(arrRmplt) To UBound(arrRmplt)
arrData(x, 1) = Replace(Replace("_" & arrData(x, 1) & "_", arrRmplt(p, 1), arrRmplt(p, 2)), "_", "")
Next p
Next x
.Cells(1, colDest).Resize(UBound(arrData)) = arrData
End With