.Range("B" & Rows.Count).End(xlUp)
représente la dernière cellule renseignée de la colonne B de la feuille "Programme de maintenance".
Il s'agit "littéralement" de la première cellule renseignée que l'on trouve lorsqu'on remonte la colonne B (B4 dans l'exemple).
.Range("B" & Rows.Count).End(xlUp).Row est la ligne correspondante (ligne 4 dans l'exemple).
.Range("B2:B" & .Range("B" & Rows.Count).End(xlUp).Row)
représente donc la plage des noms de production (B2:B4 dans l'exemple).
WsC.Cells(1, Columns.Count).End(xlToLeft)
représente la dernière cellule renseignée de la ligne 1 de la feuille "Resultats".
Il s'agit "littéralement" de la première cellule renseignée que l'on trouve lorsqu'on remonte la ligne 1 (J1 dans l'exemple).
.Range(WsC.Cells(1, 1), WsC.Cells(1, Columns.Count).End(xlToLeft))
représente donc la plage des noms de production (A1:J1 dans l'exemple).
.Range(WsC.Cells(1, 1), WsC.Cells(1, Columns.Count).End(xlToLeft)).Find(Cel, , xlValues, xlWhole)
est l'instruction qui réalise la recherche (find) du nom de production (Cel) dans la plage A1:J1.
A+