Vous êtes sur la page 1sur 5

Dim Ligne As Long

Dim Decalage_Ligne As Long

Dim Colonne As Long

Dim Feuille_Classeur, Feuille_Portefeuille, Feuille_Non_Portefeuille As Long

Dim Cours(), Total_Cours(), Cours_Moyen() As Double

Dim Ticker(), Entreprise(), Nom_Feuille As String

Dim Rendement_Jour(), Total_Rendement(), Rendement_Moyen() As Double

Dim Allocation_Titre(), Nombre_Titre(), Total_Titre() As Double

Sub Parametre()

Feuille_Classeur = ActiveWorkbook.Sheets.Count

Feuille_Non_Portefeuille = 2

Feuille_Portefeuille = Feuille_Classeur - Feuille_Non_Portefeuille

Ligne = 0

Decalage_Ligne = 2

Colonne = 1

Sheets(Feuille_Classeur - 1).Select 'Car avant dernière feuille !'

Module2.Bib_Comptage_Ligne Ligne, Decalage_Ligne, Colonne

ReDim Cours(Feuille_Portefeuille, Ligne), Cours_Moyen(Feuille_Portefeuille),


Total_Cours(Feuille_Portefeuille)

ReDim Ticker(Feuille_Portefeuille), Entreprise(Feuille_Portefeuille), Nom_Feuille(Feuille_Portefeuille)

ReDim Rendement_Jour(Feuille_Portefeuille, Ligne), Total_Rendement(Feuille_Portefeuille),


Moyenne_Rendement(Feuille_Portefeuille)

ReDim Allocation_Titre(Feuille_Portefeuille), Nombre_Titre(Feuille_Portefeuille),


Total_Titre(Feuille_Portefeuille)

Sheets(Feuille_Classeur).Select

End Sub

Sub Lecture()

Dim I, J As Long

For I = 1 To Feuille_Portefeuille
Feuille_Nom(I) = Sheets(I).Name 'Permet de dire que nom de la feuille(I) devient celui de la feuille I
sheets)'

For J = 1 To Ligne

Cours(I, J) = Sheets(I).Cells(J + Decalage_Ligne - 1, 3).Value

'Pas de rendement car on le calcule déja après'

Next J

Nombre_Titre(I) = Sheets(I).Cells(2, 6).Value

Next I

End Sub

Sub Calcul_Ticker()

Dim I, J As Long

Dim Temp As String

For I = 1 To Feuille_Portefeuille

J=0

Temp = ""

Do Until J = Len(Feuille_Nom(I)) Or Temp = "-" 'car le - va de suite stopper l'action

J = J + 1 'pas J to ligne car on va chercher de nom de feuille par niom de feuille'

Temp = Mid(Feuille_Nom(I), J, 1) '?'

If Temp = "-" Then 'on va décomposer le ticker et le nom grâce au - c'est pour celà qu'on utilise le
if--'

Ticker(I) = Left(Feuille_Nom(I), J - 1)

Entreprise(I) = Right(Feuille_Nom(I), Len(Feuille_Nom(I)) - J)

Next J 'pas de next J ?'

End If

Loop

Next I

End Sub

Sub Calcul_Allocation()
Dim I, J As Long

Total_Titre = 0

For I = 1 To Feuille_Portefeuille

Total_Titre(I) = Total_Titre(I) + Nombre_Titre(I)

Next I

For I = 1 To Feuille_Portefeuille

Allocation_Titre(I) = Nombre_Titre(I) / Total_Titre(I)

Next I

End Sub

Sub Calcul_Rendement_Titre()

Dim I, J As Long

For I = 1 To Feuille_Portefeuille

Total_Rendement(I) = 0

Total_Cours(I) = 0

For J = 1 To Ligne

Total_Cours(I) = Total_Cours(I) + Cours(I, J)

Next J

For J = 2 To Ligne 'car question de rendement !'

Rendement_Jour(I, J - 1) = (Cours(I) / Cours(I, J - 1) - 1)

Total_Rendement(I) = Total_Rendement(I) + Rendement_Jour(I, J - 1)

Next J

Cours_Moyen(I) = Total_Cours(I) / Ligne 'car on ne connait pas le nombre de lignes pour le


rendement !'

Rendement_Moyen(I) = Total_Rendement / (Ligne - 1)

Next I
End Sub

Sub Resultat()

Dim I, J As Long

Sheets(1).Select

For I = 1 To Feuille_Portefeuille

Cells(I + 1, 1).Value = Ticker(I)

Cells(I + 1, 2).Value = Total_Volume(I)

Cells(I + 1, 3).Value = Moyenne_Volume(I)

Cells(I + 1, 4).Value = Plus_Haut(I)

Cells(I + 1, 5).Value = Plus_Bas(I)

Next I

End Sub

Sub Effacer()

Dim Ligne As Long

Dim Decalage_Ligne As Long

Dim Colonne As Long

Dim Num_Feuille As Long

Dim I, J As Long

Ligne = 0

Decalage_Ligne = 2

Colonne = 1

Num_Feuille = ActiveWorkbook.Sheets.Count

Module2.Bib_Comptage_Ligne Ligne, Decalage_Ligne, Colonne, Num_Feuille

Colonne = 6

For I = 1 To Ligne

For J = 1 To Colonne

Sheets(Num_Feuille).Cells(I + 1, J).Value = ""

Next J
Next I

End Sub

Sub Exo_1()

Parametre

Lecture_Valeur

Calcul_Volume

Calcul_Cours

Resultat

End Sub

Vous aimerez peut-être aussi