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:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.