Bonjour à tous,
Je vous présente d'abord le code que j'ai écrit (qui ne marche pas), et ensuite je vais vous dire quel est mon but.
Voici mon code:
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
| Sub linear_reg2()
i = 2
j = 3
a = 2
Do While i <= 5000
If Cells(i, j) = "" Then idx_value1 = Cells(i - 1, j) And idx_empty = i
Do While Cells(idx_empty + 1, j) = ""
idx_empty = idx_empty + 1
Loop
idx_value2 = idx_empty + 1
diff_y = Cells(idx_value2, 3) - Cells(idx_value1, 3)
diff_x = Cells(idx_value2, 2) - Cells(idx_value1, 2)
Slope = diff_y / diff_x
nb_cells = idx_empty - i + 1
For idx = 1 To nb_cells
Cells(i + idx, 3).Value = Slope * Cells(i + idx, 2).Value
i = i + nb_cells + 1
Next
i = idx_empty + 1
Loop
End Sub |
Alors le but est de remplir les y, sachant que les x sont donnés, par exemple:
x y
1 20
3
4
5 25
8
9
14 60
Donc comme vous pouvez le voir, il y a des cases y sans valeurs, et mon but est de les remplir en faisant une régression linéaire. Je ne comprends pas ce qui est faux dans mon code.
Merci beaucoup d'avance pour votre aide.
Bien cordialement,
Nour.
Partager