Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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+
 

Gardien de phare

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

Bonsoir,

Un petit classeur exemple avec le code, ce ne serait pas possible ? Ton truc n'est pas compliqué, à mon avis, mais pas envie de construire un exemple pour être certain que le code soit bon !
 

Abissa

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

bsr;
j’espère que tout vas bien chez vous;
voici l'exemple de classeur
merci d'avance de votre attention
 

Pièces jointes

  • rend-var.xlsm
    107.5 KB · Affichages: 66
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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…