Je pense, mais je peux me tromper, que par expérience de gestion, seuls les 3 premiers chiffres sont significatifs du type de composant.
Donc ici un essai :
Sub RecherchePartielle()
Dim NbLg As Long, I As Long, J As Long, Cel As Range
NbLg = Range("A" & Rows.Count).End(xlUp).Row ' Nombre de ligne à traiter
Range("B2:B" & NbLg).ClearContents ' On efface la zone résultat
For J = 2 To NbLg ' Pour chaque numéro de série
For Each Cel In Sheets("Comparatif").Range("A1").CurrentRegion
If Split(Range("A" & J) & "-", "-")(0) = Split(Cel.Value & "-", "-")(0) Then
Range("B" & J) = Sheets("Comparatif").Cells(1, Cel.Column)
End If
Next Cel
Next J
End Sub