1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| Sub statistiques_elémentaires()
Dim tableau_resultats() As Variant
Dim ligne_tableau As Integer
Dim feuille As Worksheet
nb_actions = ThisWorkbook.Worksheets.Count - 1
ReDim tableau_resultats(nb_actions, 7)
ligne_tableau = 0
For Each feuille In ThisWorkbook.Worksheets
If feuille.Name <> "Statistiques" Then
feuille.Activate
Call calcule_rentas
ligne_tableau = ligne_tableau + 1
tableau_resultats = statistiques(feuille, tableau_resultats, ligne_tableau)
End If
Next feuille
Worksheets("Statistiques").Activate
Range("A2").Select
Range(Selection, Selection.Offset(nb_actions - 1, 6)).Value = tableau_resultats
End Sub
Sub calculate_rentas()
Range("C3").Select
Set plage_rentas = Range(Selection, Selection.End(xlDown)).Offset(-1, 1)
plage_rentas.FormulaR1C1 = "=ln((R[1]C2 + RC3) / RC2)"
End Sub
Function statistiques(feuille, tableau_resultats, ligne_tableau)
tableau_resultats(ligne_tableau, 1) = feuille.Name
tableau_resultats(ligne_tableau, 2) = plage_rentas.Cells.Count
tableau_resultats(ligne_tableau, 3) = WorksheetFunction.Average(plage_rentas)
tableau_resultats(ligne_tableau, 4) = WorksheetFunction.Median(plage_rentas)
tableau_resultats(ligne_tableau, 5) = WorksheetFunction.StDev(plage_rentas)
tableau_resultats(ligne_tableau, 6) = WorksheetFunction.Skew(plage_rentas)
tableau_resultats(ligne_tableau, 7) = WorksheetFunction.Kurt(plage_rentas)
statistiques = tableau_resultats
End Function |
Partager