M
mowbray
Guest
tout nouveau en VBA je tombe a priori dans tout les piéges. notamant là je suis piégé par un dépassement de capacité dont je ne sais pas d'où il sort ni pourquoi.
J'ai une fonction et deux arguments variables dans ma feuille de calcul et a priori il y en a un de trop et le fait qu'ils soient variables pose un PB. (lorsque je défini ces variables ou bien que j'en enléve une le PB se régle de lui même).
quelqu'un pourait il m'expliquer ce qui se passe
Sub significativité()
'test si la différence de deux pourcentages est significative
nb1 = 102
nb2 = 100
For j = 3 To 8 Step 2
For i = 10 To 18
'calcul du t de student
'probabilité associée à la série1
P1 = Cells(i, j).Value
'probabilité associé à la série2
P2 = Cells(i, j + 1).Value
a = ((nb1 * P1) + (nb2 * P2)) / (nb1 + nb2)
q = Sqr((a * (100 - a)) * ((1 / nb1) + (1 / nb2)))
t = (P1 - P2) / q =>ligne ou apparait le débogueur
'Comparaison de la valeur de fisher avec l'interval indiquant le niveau de significativité requi
If t < -1.64 Then
Cells(i, j).Interior.ColorIndex = 5
End If
If t > 1.64 Then
Cells(i, j).Interior.ColorIndex = 5
End If
If t < -1.96 Then
Cells(i, j).Interior.ColorIndex = 7
End If
J'ai une fonction et deux arguments variables dans ma feuille de calcul et a priori il y en a un de trop et le fait qu'ils soient variables pose un PB. (lorsque je défini ces variables ou bien que j'en enléve une le PB se régle de lui même).
quelqu'un pourait il m'expliquer ce qui se passe
Sub significativité()
'test si la différence de deux pourcentages est significative
nb1 = 102
nb2 = 100
For j = 3 To 8 Step 2
For i = 10 To 18
'calcul du t de student
'probabilité associée à la série1
P1 = Cells(i, j).Value
'probabilité associé à la série2
P2 = Cells(i, j + 1).Value
a = ((nb1 * P1) + (nb2 * P2)) / (nb1 + nb2)
q = Sqr((a * (100 - a)) * ((1 / nb1) + (1 / nb2)))
t = (P1 - P2) / q =>ligne ou apparait le débogueur
'Comparaison de la valeur de fisher avec l'interval indiquant le niveau de significativité requi
If t < -1.64 Then
Cells(i, j).Interior.ColorIndex = 5
End If
If t > 1.64 Then
Cells(i, j).Interior.ColorIndex = 5
End If
If t < -1.96 Then
Cells(i, j).Interior.ColorIndex = 7
End If