[VBA] Moyenne, écart types...

dellysabel

XLDnaute Nouveau
Bonjour,
J'espère que vous allez bien ! :)
Complètement novice en VBA (Excel) quand bien même j'ai suivi des cours ce semestre, j'aurai besoin d'aide afin de mener à bien un projet à rendre. Néanmoins, les consignes demandées dépassent mes compétences en matière de codage (quand on a vu que des msgbox, des boucles, ça devient compliqué...) :confused: et même si je comprends les directives à suivre, sur papier tout va bien, mais ça coince dès qu'il faut coder o_O

Une petite aide serait la bienvenue, si vous avez ne serait-ce que des pistes, ce serait cool. Et si vous avez besoin du fichier juste pour voir la tronche des données, je peux toujours vous fournir tout ça.
Merci par avance :)
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Bonjour et bienvenue sur ce forum

Alors.. à la lecture de ton post. j'ai pas compris grand chose (j'ai un peu oublié tous ces termes et les formules associées)
mais si les calculs sont clairs pour toi. on devrait pouvoir y arriver
Déjà.. effectivement.. poster ton fichier serait utile pour qu'on voit à quoi ressemblent les données, et comment elles se présentent.
et si en plus tu peux expliquer ce qu'il faut faire de ces données et comment.. on devrait pouvoir avancer :-D
 

vgendron

XLDnaute Barbatruc
Alors.. voici un début de réponse pour les moyennes et écart type et nombre de valeurs
le tout par formule..
pour les autres....?? j'ai pas regardé. mais peut etre y a t il des fonctions excel ??

==> ca suppose que toutes les feuilles de fournisseurs commencent à la ligne 2 et qu'en ligne 1, il y a le nom du fournisseur (sur le meme modèle que ta feuille Google)
 

Pièces jointes

  • Cette chose du diable qui me prend la tête.xlsm
    340.5 KB · Affichages: 30

dellysabel

XLDnaute Nouveau
Merci beaucoup pour l'aide ! Je crois qu'il existe les fonctions de Kurtosis et du coefficient d'asymétrie directement avec les formules fournies par Excel, du moins c'est ce que j'ai lu. :) Mais du coup, en terme de VBA, y a moyen d'avoir ces résultats via un bouton sur lequel on clique (avec des codes sur Visual Basic, ou une macro) ? o_O
 

dellysabel

XLDnaute Nouveau
La pièce jointe avait bien été mise dans le premier message ;):D Merci d'avoir corrigé mon code :)
:cool: Je vais essayer de faire de même pour Skewness et Kurtosis en trouvant leur formule VBA :eek: Mais déjà, merci beaucoup pour ça ! :)
 
Dernière édition:

vgendron

XLDnaute Barbatruc
et hop :-D

VB:
Sub RemplirStat()
Dim TabData() As Variant 'on déclare un tablo VBA qui contiendra les datas
Dim TabFournisseur() As Variant 'on déclare un tablo VBA qui contiendra la liste des Fournisseurs

With Sheets("Statistiques") 'dans la feuille Statistiques
    nbFournisseurs = .Cells(3, .Columns.Count).End(xlToLeft).Column - 1 'on récupère la dernière colonne sur la ligne 3 = ligne des fournisseurs
    .Range("B4").Resize(5, nbFournisseurs).ClearContents 'on efface le tablo
    TabFournisseur = .Range("B3").Resize(6, nbFournisseurs).Value  'on set un tablo de 6 lignes (3 à 8) et NbFournisseurs colonnes
End With

For j = LBound(TabFournisseur, 2) To UBound(TabFournisseur, 2) 'sur chaque colonne du tablo = pour chaque fournisseur
    'MsgBox TabFournisseur(1, j)
    With Sheets("" & TabFournisseur(1, j) & "") 'dans la feuille du fournisseur
        '.Activate
        Fin = .Range("B" & .Rows.Count).End(xlUp).Row 'on recupère la dernière ligne en colonne B
        TabFournisseur(2, j) = WorksheetFunction.Average(.Range("B3:B" & Fin)) 'calcul de la moyenne
        TabFournisseur(3, j) = WorksheetFunction.StDev(.Range("B3:B" & Fin)) 'calcul de l'écart type
        TabFournisseur(4, j) = WorksheetFunction.Skew(.Range("B3:B" & Fin)) 'calcul du SKEWNESS"
        TabFournisseur(5, j) = WorksheetFunction.Kurt(.Range("B3:B" & Fin)) 'calcul du Kurtosis"
        TabFournisseur(6, j) = WorksheetFunction.CountA(.Range("B3:B" & Fin)) 'calcul du nombre de valeurs
    End With
Next j
With Sheets("Statistiques") 'dans la feuille Statistiques
    .Range("B3").Resize(UBound(TabFournisseur, 1), UBound(TabFournisseur, 2)) = TabFournisseur 'on colle les résultats
End With

End Sub
 

dellysabel

XLDnaute Nouveau
Yaaay, c'est exactement ce que j'allais poster du coup pour la Skew et la Kurtosis (je ne suis donc pas complètement naze, j'ai juste tendance à zapper des parenthèses :D) :eek:
Je vais aller faire l'histogramme, du moins chercher une formule pour, et de même pour le q-q plot ! Merci beaucoup pour ces codes et les explications qui vont de paire, c'est super pratique ! :cool:
 

Discussions similaires

Réponses
20
Affichages
3 K
Réponses
2
Affichages
1 K

Statistiques des forums

Discussions
315 081
Messages
2 116 027
Membres
112 638
dernier inscrit
Kapucine