re, oui il faut d'abord calculer la dernière ligne utilisée, dans une autre colonne de ton tableau, style :
derlig = range("B" & rows.count).end(xlup).row te donnera la dernière ligne utilisée dans la colonne B
après, au lieu de Range("c2:c" & Rows.Count).FormulaR1C1 = _ ...
tu mets : Range("c2:c" & derlig).FormulaR1C1 = _ ...
ce qui mettra ta formule que sur les lignes réellement utilisées de ton tableau
bien entendu, c'est à toi de voir dans quelle colonne tu va chercher la 'derlig'