calculer la moyenne et la variance des plusieurs colonnes

Abissa

XLDnaute Nouveau
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,
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : abissa

Bonjour Abissa et bienvenue sur ce forum

Tu voudras bien éditer ton premier post et changer le titre qui ne veut rien dire
par, par exemple : calculer la moyenne et la variance

Pense aux autres forumeurs lorsqu'il cherchent une solution

A+
 
C

Compte Supprimé 979

Guest
Re : calculer la moyenne et la variance des plusieurs colonnes

Bonjour Abissa

Voici le code modifié (très peu) et le fichier ;)
VB:
Option Explicit


Sub CalculMoyVar()

  Dim NbLig, NbCol, i, j As Integer
  Dim Tot, Moyenne, Variance, Somme As Double
  Dim ShtD As Worksheet
  ' Définir la feuille de destination
  Set ShtD = Sheets("rend-var")
  ' Avec la feuille de données
  With Sheets("BasesDonnees")
    'nblig = Range("A1").SpecialCells(xlCellTypeLastCell).Row
    'nbcol = Range("A1").SpecialCells(xlCellTypeLastCell).Column
    ' Trouver la dernière ligne et la dernière cellule
    ' sans utiliser 'Dernière cellule' qui peut être erronée
    NbLig = .Range("A" & Rows.Count).End(xlUp).Row
    NbCol = .Cells(1, Columns.Count).End(xlToLeft).Column
    ' Inscrire dans la feuille de destination
    ShtD.Cells(1, 2) = NbLig - 1
    ShtD.Cells(2, 2) = NbCol - 1
    ' Pour chaque colonne
    For j = 2 To NbCol - 1
      ' Pour chaque ligne
      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)
      ' Inscrire les valeurs dans la feuille de destination
      ShtD.Cells(3, j).Value = Moyenne
      ShtD.Cells(4, j).Value = Variance
      ' Remettre à zéro les valeurs
      Tot = 0: Somme = 0: Moyenne = 0: Variance = 0
    Next j
  End With
End Sub

A+
 

Pièces jointes

  • Abissa_rend-var.xlsm
    84.1 KB · Affichages: 59

Abissa

XLDnaute Nouveau
Re : calculer la moyenne et la variance des plusieurs colonnes

bjr;
j’espère que tout vas bien chez toi,
merci infiniment pour vos efforts.
petite question: ou se trouve l'erreur dans mon programme? est l'initialisation ou bien tout le programme
merci 2 eme fois
 

Abissa

XLDnaute Nouveau
Re : calculer la moyenne et la variance des plusieurs colonnes

slt,
svp est ce que possible de prendre juste les rendements positives? ( a conditions de prendre aussi les variances de ces rendements et de supprimer les cellules vides )
voici le code que j'ai appliqué
For Each c In Worksheets("rend-var").Cells(4, j)
If IsNumeric(c) And c > 0 Then Worksheets("rend-var").Cells(7, j) = c
Next c
If Cells(7, j) = " " Then
Cells(7, j).Select
Selection.Delete Shift:=xlToLeft
End If

merci bouveaup
 
Dernière édition:

Discussions similaires

Réponses
24
Affichages
2 K
Réponses
2
Affichages
508

Statistiques des forums

Discussions
312 920
Messages
2 093 641
Membres
105 772
dernier inscrit
Momzo