1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
Sub linear_reg2()
i = 2
j = 3
a = 2
' On trouve la position du 1er vide
Do While Cells(i, j) <> "" And i <= 5000
i = i + 1
Loop
idx_empty = i - 1
Do While i <= 5000
' On trouve la durée du vide
Do While Cells(i, j) = ""
i = i + 1
Loop
idx_empty2 = i
' On calcule les deltas
diff_y = Cells(idx_empty2, 3) - Cells(idx_empty, 3)
diff_x = Cells(idx_empty2, 2) - Cells(idx_empty, 2)
Slope = diff_y / diff_x
' On renseigne les vides
nb_cells = idx_empty2 - idx_empty - 1
For idx = 1 To nb_cells
Cells(idx_empty + idx, 3).Value = Slope * (Cells(idx_empty + idx, 2).Value - Cells(idx_empty, 2).Value) + Cells(idx_empty, 3).Value
Next
' On trouve le prochain vide
Do While Cells(i, j) <> "" And i <= 5000
i = i + 1
Loop
idx_empty = i - 1
Loop
End Sub |
Partager