Bonjour,
Une autre proposition à étudier.
Cdlt.
Option Explicit
Public Sub Resultat2()
Dim wb As Workbook
Dim ws As Worksheet, ws2 As Worksheet
Dim tbl, arr()
Dim I As Long, J As Long
Set wb = ActiveWorkbook
Set ws = wb.Worksheets("Feuil1")
Set ws2 = wb.Worksheets("Feuil3")
ws2.Cells(1).CurrentRegion.ClearContents
tbl = ws.Cells(1).CurrentRegion.Value
ReDim arr(1 To UBound(tbl, 1), 1 To UBound(tbl, 2))
For J = 1 To UBound(tbl, 2)
For I = 2 To UBound(tbl, 1)
If tbl(I - 1, J) <> "" Then
arr(I - 1, J) = tbl(I, J) / tbl(I - 1, J) - 1
Else
arr(I - 1, J) = ""
End If
Next I
Next J
ws2.Cells(1).Resize(UBound(tbl, 1), UBound(tbl, 2)).Value = arr
Erase arr()
Set ws2 = Nothing: Set ws = Nothing
Set wb = Nothing
End Sub