Bonjour à tous,
Je vous remercie par avance de votre patience.
Je tente de faire une analyse en composante principale, pour cela je dispose d'une base de données, je dois centrer et réduire mes données, mais ce n'est pas la partie la plus importante. Je dois commencer par calculer les moyennes par colonne ce que j'ai fait.
Puis les variances, il est là le hic ! en effet, la formule de la variance consiste d'abord a tout mettre au carré puis à faire la somme des données au carré puis à soustraire la moyenne au carré
un exemple si j'ai 3 notes : 8, 3, 7 la moyenne c'est (8+3+7) / 3 = 6
La variance c'est (8²+3²+7²) - 6²
mais quand je fais le test de ma formule cela ne colle pas... et je suis vraiment dans l'embarras, si quelqu'un pouvait me dire mon erreur je serai ravi, je vous présente mon code:
Sub Moyenne()
Dim i As Integer
Dim somme As Single
For i = 2 To 31
somme = somme + Cells(i, 2).Value
Cells(32, 2).Value = CStr(somme)
Next i
'calcul du total des données d'une colonne
Dim k As Single
k = Cells(32, 2).Value / 30
Cells(33, 2).Value = CStr(k)
'calcul de la moyenne de la colonne
End Sub
Sub Variance()
Dim i As Integer
Dim var As Single
For i = 2 To 31
var = var + Cells(i, 2).Value ^ 2
Cells(34, 2).Value = CStr(var)
Next i
'faire la somme des éléments au carré
Dim x As Single
x = var - Cells(33, 2).Value ^ 2
Cells(35, 2).Value = CStr(x)
'retrancher la moyenne au carré
End Sub
Je vous remercie par avance de votre patience.
Je tente de faire une analyse en composante principale, pour cela je dispose d'une base de données, je dois centrer et réduire mes données, mais ce n'est pas la partie la plus importante. Je dois commencer par calculer les moyennes par colonne ce que j'ai fait.
Puis les variances, il est là le hic ! en effet, la formule de la variance consiste d'abord a tout mettre au carré puis à faire la somme des données au carré puis à soustraire la moyenne au carré
un exemple si j'ai 3 notes : 8, 3, 7 la moyenne c'est (8+3+7) / 3 = 6
La variance c'est (8²+3²+7²) - 6²
mais quand je fais le test de ma formule cela ne colle pas... et je suis vraiment dans l'embarras, si quelqu'un pouvait me dire mon erreur je serai ravi, je vous présente mon code:
Sub Moyenne()
Dim i As Integer
Dim somme As Single
For i = 2 To 31
somme = somme + Cells(i, 2).Value
Cells(32, 2).Value = CStr(somme)
Next i
'calcul du total des données d'une colonne
Dim k As Single
k = Cells(32, 2).Value / 30
Cells(33, 2).Value = CStr(k)
'calcul de la moyenne de la colonne
End Sub
Sub Variance()
Dim i As Integer
Dim var As Single
For i = 2 To 31
var = var + Cells(i, 2).Value ^ 2
Cells(34, 2).Value = CStr(var)
Next i
'faire la somme des éléments au carré
Dim x As Single
x = var - Cells(33, 2).Value ^ 2
Cells(35, 2).Value = CStr(x)
'retrancher la moyenne au carré
End Sub