On dirait que l'utilsation de nombre à virgule pose des problèmes, surtout que ce ne n'est pas des virgules qu'il voudrait mais 1 point. Un appel à Replace résoud le pb.
Dim tete As Double
Dim str As Variant
tete = 2.4549
str = (100 - tete) / 100
str = Replace(str, ",", ".")
str = "=" & str & "*[0718.xls]PTF!R8C4"
ActiveCell.FormulaR1C1 = str
Remarque on peut directement calculé (100 - tete) / 100, comme ça on simplifie les recalculs