Re, salut h2so4 !
Ma contribution...
Sub MacroX()
Dim aa, param, hh(), f%, k%, d%, i&
param = Worksheets(5).Range("G2:G5").Value
For i = 1 To 4
param(i, 1) = param(i, 1) + 0.25
Next i
For f = 1 To 4
With Worksheets(f)
d = 1: k = 2
Do While .Cells(d, 1) <> "Dates"
d = d + 1
Loop
Do While .Cells(d, k) <> "PX_CLOSE" And .Cells(d, k) <> "PX_LAST"
k = k + 1
Loop
i = .Cells(.Rows.Count, k).End(xlUp).Row
aa = .Range(.Cells(d, k), .Cells(i, k)).Value
ReDim hh(1 To UBound(aa, 1), 0)
hh(1, 0) = "F_Fi"
For i = 2 To UBound(aa, 1)
hh(i, 0) = (aa(i, 1) - 0.375) / param(f, 1)
Next i
.Cells(d, 8).Resize(UBound(aa, 1)).Value = hh
End With
Next f
End Sub
Moins de 50 millisecondes sur ton fichier. (toutefois incomplet)