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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| Option Base 1
Public Plage_Rentabilites As Range
Sub Statistiques_Rentabilites()
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_Rentabilites
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
'Calcul des taux de rentabilités
Sub Calcule_Rentabilites()
For Each Feuille In ThisWorkbook.Worksheets
If Feuille.Name <> "STATISTIQUES" Then
Feuille.Activate
Dim Plage_Rentabilites&
'jusqu'à la derniere ligne non vide
Plage_Rentabilites = Cells(Rows.Count, 1).End(xlUp).Row
Columns(7).Delete '<- ligne à supprimer aprés le test
With Range("G1")
.Value = "Taux de rentabilité": .Interior.Color = 55: .Font.Bold = -1: .Font.Color = 255
End With
'formule
Range("G2").Resize(Plage_Rentabilites - 1) = "=ln((R[1]C2+RC3)/RC2)"
End If
Next Feuille
Worksheets("STATISTIQUES").Activate
End Sub
Function Statistiques(Feuille, Tableau_resultats, Ligne_tableau)
'mise en forme
Sheets("STATISTIQUES").Range("A1:G1").Interior.Color = 55
Sheets("STATISTIQUES").Range("A1:A7").Interior.Color = 55
Sheets("STATISTIQUES").Range("A1:G1").Font.Color = 255
Sheets("STATISTIQUES").Range("A1:A7").Font.Color = 255
Sheets("STATISTIQUES").Range("A1").Value = "Nombre des taux"
Sheets("STATISTIQUES").Range("B1").Value = "titres"
Sheets("STATISTIQUES").Range("C1").Value = "moyenne"
Sheets("STATISTIQUES").Range("D1").Value = "Mediane"
Sheets("STATISTIQUES").Range("E1").Value = "Ecart-type"
Sheets("STATISTIQUES").Range("F1").Value = "Skewness"
Sheets("STATISTIQUES").Range("G1").Value = "kurtosis"
Tableau_resultats(Ligne_tableau, 1) = Feuille.Name
Tableau_resultats(Ligne_tableau, 2) = Plage_Rentabilites.Cells.Count 'nombre des taux de rentabilités
Tableau_resultats(Ligne_tableau, 3) = WorksheetFunction.Average(Plage_Rentabilites) 'la moyenne
Tableau_resultats(Ligne_tableau, 4) = WorksheetFunction.Median(Plage_Rentabilites) ' la mediane
Tableau_resultats(Ligne_tableau, 5) = WorksheetFunction.StDev(Plage_Rentabilites) ' Ecart-type
Tableau_resultats(Ligne_tableau, 6) = WorksheetFunction.Skew(Plage_Rentabilites) ' la Skewness
Tableau_resultats(Ligne_tableau, 7) = WorksheetFunction.Kurt(Plage_Rentabilites) ' la kurtosis
Statistiques = Tableau_resultats
End Function |
Partager