Bjr,
j'ai un classeur Excel avec 2 feuilles : (basesdonnes, rend-var)
sur la feuille "basesdonnes" il y a 40 colonnes avec 248 lignes (de B2 à B249, C2 à C249,......., AO2 à AO249).
Je dois calculer, la moyenne, la variance de chaque colonne, le nombre de ligne et le nombre de colonne,dans la feuille "basesdonnes" puis le remetre dans la feuille " rend-var"
J'ai donc créer un programme VBA permettant de faire ça.
(le probeleme rencontré c'est de calculer la moyenne et la variance de 2ème colonne jusqu'a le dernier )
voila le programme
Sub moyvar()
Dim nblig, nbcol, i, j As Integer
Dim tot, moyenne, variance, somme As Double
Sheets("BasesDonnees").Select
' calculer nombre de ligne et nombre de colonne
nblig = Range("A1").SpecialCells(xlCellTypeLastCell).Row
nbcol = Range("A1").SpecialCells(xlCellTypeLastCell).Column
Sheets("rend-var").Select
Cells(1, 2) = nblig - 1
Cells(2, 2) = nbcol - 1
Sheets("BasesDonnees").Select
For j = 2 To nbcol - 1
For i = 2 To nblig - 1
tot = tot + Cells(i, j)
moyenne = tot / (nblig - 1)
somme = somme + ((Cells(i, j) - moyenne) ^ 2)
Next i
moyenne = tot / (nblig - 1)
variance = somme / (nblig - 1)
Sheets("rend-var").Select
Cells(3, j).Value = moyenne
Cells(4, j).Value = variance
tot = 0
somme = 0
Next j
End Sub
merci de votre aide,
j'ai un classeur Excel avec 2 feuilles : (basesdonnes, rend-var)
sur la feuille "basesdonnes" il y a 40 colonnes avec 248 lignes (de B2 à B249, C2 à C249,......., AO2 à AO249).
Je dois calculer, la moyenne, la variance de chaque colonne, le nombre de ligne et le nombre de colonne,dans la feuille "basesdonnes" puis le remetre dans la feuille " rend-var"
J'ai donc créer un programme VBA permettant de faire ça.
(le probeleme rencontré c'est de calculer la moyenne et la variance de 2ème colonne jusqu'a le dernier )
voila le programme
Sub moyvar()
Dim nblig, nbcol, i, j As Integer
Dim tot, moyenne, variance, somme As Double
Sheets("BasesDonnees").Select
' calculer nombre de ligne et nombre de colonne
nblig = Range("A1").SpecialCells(xlCellTypeLastCell).Row
nbcol = Range("A1").SpecialCells(xlCellTypeLastCell).Column
Sheets("rend-var").Select
Cells(1, 2) = nblig - 1
Cells(2, 2) = nbcol - 1
Sheets("BasesDonnees").Select
For j = 2 To nbcol - 1
For i = 2 To nblig - 1
tot = tot + Cells(i, j)
moyenne = tot / (nblig - 1)
somme = somme + ((Cells(i, j) - moyenne) ^ 2)
Next i
moyenne = tot / (nblig - 1)
variance = somme / (nblig - 1)
Sheets("rend-var").Select
Cells(3, j).Value = moyenne
Cells(4, j).Value = variance
tot = 0
somme = 0
Next j
End Sub
merci de votre aide,
Dernière édition: