begin process at 2008 05 16 05:15:10
1 173 215 membres
57 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SUIVRE LE COURS D'UNE ACTION, POSSIBILITÉ D'AJOUTER LE MONTANT DES PARTS DE DIFFÉRENTS FONDS DE PLACEMENT


Information sur la source

Catégorie :Graphique Classé sous : action, suivi, graphique, mschart, bourse Niveau : Débutant Date de création : 10/03/2007 Date de mise à jour : 10/03/2007 20:07:07 Vu / téléchargé: 4 513 / 783

Note :
Aucune note

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


Description

Cette source sert à suivre le cours d'une action, avec import automatique depuis la source.
Le Screen dit tout.

Je vous ai laissé mon test complet sur l'action Vinci avec des valeurs et le suivi complet depuis 1987, sachez que si vous suivez une autre action, tout repart de zéro et donc le graphique ne sera pas top, mais le sera au fur et à mesure des valeurs importées.
Sinon, cherchez un historique sur le net au format texte, il suffit de faire 2 colonnes séparés par un point-virgule, avec la date et la valeur.

Source

  • Public Sub MultiGraphicDrawing(CourbePlacement As String)
  • Dim UBval As Integer: UBval = UBound(CotationsValues) - 1
  • Dim i As Integer
  • Dim StartC As Integer
  • Dim j As Byte: j = 1
  • Dim MyRowCount As Byte
  • Dim YearAverage As Double
  • Dim ValTemp As Double
  • Dim MyPlacement As clsPlacement
  • frmMain.MSChart1.AllowSelections = False ' Interdit la sélection dans le graphe
  • frmMain.lstValues.Clear
  • If ActionInfos.CotationsNumber <= 52 Then
  • StartC = 1: MyRowCount = ActionInfos.CotationsNumber
  • Else
  • StartC = ActionInfos.CotationsNumber - 52: MyRowCount = 53
  • End If
  • '********************************************************************************
  • ' Choix de la courbe à afficher
  • '********************************************************************************
  • For Each MyPlacement In ActionInfos
  • If CourbePlacement = MyPlacement.NamePlacement Then
  • ValTemp = Val(MyPlacement.PlacementValue)
  • Exit For
  • Else
  • ValTemp = 1
  • End If
  • Next MyPlacement
  • With frmMain.MSChart1
  • .chartType = VtChChartType2dLine ' type de graphe (ici en ligne)
  • .ColumnCount = 1 ' nombre de ligne
  • .RowCount = MyRowCount ' nombre de semaine
  • For i = StartC To ActionInfos.CotationsNumber
  • .Row = j
  • .Column = 1
  • .RowLabel = CotationsDates(i) ' les dates
  • .Data = MyCDbl(CotationsValues(i)) * ValTemp ' les valeurs
  • YearAverage = YearAverage + .Data ' cumul des valeurs pour calculer la moyenne annuelle
  • j = j + 1
  • ' incrémentation des valeurs dans la liste de droite dans la form principale
  • If frmMain.lstPlacements.Text <> ActionInfos.NameAction Then
  • frmMain.lstValues.AddItem CotationsDates(i) & vbTab & .Data
  • End If
  • Next i
  • End With
  • Set MyPlacement = Nothing
  • frmMain.ucAverageAction2.Caption = "Moyenne du placement (12 derniers mois) : " & CStr(Format(YearAverage / 53, "#0.00"))
  • ' Pour que le curseur soit différent lorsque la souris passe sur le graphe
  • frmMain.MSChart1.DoSetCursor = True
  • frmMain.MSChart1.MousePointer = VtMousePointerCross
  • '********************************************************************************
  • ' Paramètres de la légende
  • '********************************************************************************
  • frmMain.MSChart1.ShowLegend = True
  • ' Texte de la légende
  • With frmMain.MSChart1.Plot.SeriesCollection(1)
  • .LegendText = "Valeur de " & CourbePlacement
  • End With
  • With frmMain.MSChart1.Legend
  • .Location.LocationType = VtChLocationTypeRight ' La légende sera au-dessus
  • .TextLayout.HorzAlignment = VtVerticalAlignmentCenter ' Alignement centré
  • .VtFont.VtColor.Set 255, 255, 0 ' Texte jaune.
  • .Backdrop.Fill.Style = VtFillStyleBrush ' Style de fond
  • .Backdrop.Fill.Brush.Style = VtBrushStyleHatched ' Style de remplissage
  • .Backdrop.Fill.Brush.FillColor.Set 159, 0, 255 ' Couleur de remplissage du fond de la
  • End With ' légende
  • '********************************************************************************
  • ' Titre et mise en forme
  • '********************************************************************************
  • frmMain.MSChart1.TitleText = "Courbe de suivi d'action sur les 50 dernières valeurs"
  • With frmMain.MSChart1.Title.VtFont
  • .Name = "Comic Sans MS"
  • .Size = 15
  • .Effect = VtFontEffectUnderline
  • End With
  • ' Titre pour l'axe des Y côté gauche
  • With frmMain.MSChart1.Plot.Axis(1, 1)
  • .AxisTitle.VtFont.Size = 14
  • .AxisTitle.Visible = True
  • .AxisTitle.Text = "Valeurs"
  • End With
  • ' Virer les nombres côté droit
  • frmMain.MSChart1.Plot.Axis(2, 1).AxisScale.Hide = True
  • ' Titre pour l'axe des X côté bas
  • With frmMain.MSChart1.Plot.Axis(0, 1)
  • .AxisTitle.VtFont.Size = 14
  • .AxisTitle.Visible = True
  • .AxisTitle.Text = "Date"
  • End With
  • '********************************************************************************
  • ' Couleurs et traits du graphe
  • '********************************************************************************
  • ' Changer la couleur du graphe
  • With frmMain.MSChart1.Plot.SeriesCollection(1)
  • .DataPoints(-1).Brush.FillColor.Set 255, 0, 0 ' couleur RGB
  • End With
  • ' Changer la couleur du fond du graphe
  • With frmMain.MSChart1.Backdrop.Fill
  • .Style = VtFillStyleBrush
  • .Brush.FillColor.Set 255, 255, 255 'fond blanc
  • End With
  • ' Placer une ligne colorée entre les éléments de la légende de l'axe Y ainsi que la ligne 0
  • With frmMain.MSChart1.Plot.Axis(VtChAxisIdX, 1)
  • .Pen.VtColor.Set 237, 44, 78
  • End With
  • End Sub
Public Sub MultiGraphicDrawing(CourbePlacement As String)
    Dim UBval       As Integer:     UBval = UBound(CotationsValues) - 1
    Dim i           As Integer
    Dim StartC      As Integer
    Dim j           As Byte:        j = 1
    Dim MyRowCount  As Byte
    Dim YearAverage As Double
    Dim ValTemp     As Double
    Dim MyPlacement As clsPlacement
    
frmMain.MSChart1.AllowSelections = False    ' Interdit la sélection dans le graphe
frmMain.lstValues.Clear

If ActionInfos.CotationsNumber <= 52 Then
    StartC = 1: MyRowCount = ActionInfos.CotationsNumber
Else
    StartC = ActionInfos.CotationsNumber - 52: MyRowCount = 53
End If

'********************************************************************************
'                           Choix de la courbe à afficher
'********************************************************************************

For Each MyPlacement In ActionInfos
    If CourbePlacement = MyPlacement.NamePlacement Then
        ValTemp = Val(MyPlacement.PlacementValue)
        Exit For
    Else
        ValTemp = 1
    End If
Next MyPlacement

With frmMain.MSChart1
    .chartType = VtChChartType2dLine   ' type de graphe (ici en ligne)
    .ColumnCount = 1                   ' nombre de ligne
    .RowCount = MyRowCount             ' nombre de semaine
    
    For i = StartC To ActionInfos.CotationsNumber
        .Row = j
        .Column = 1
        .RowLabel = CotationsDates(i)                                   ' les dates
        .Data = MyCDbl(CotationsValues(i)) * ValTemp   ' les valeurs
        YearAverage = YearAverage + .Data                               ' cumul des valeurs pour calculer la moyenne annuelle
        j = j + 1
        
        ' incrémentation des valeurs dans la liste de droite dans la form principale
        If frmMain.lstPlacements.Text <> ActionInfos.NameAction Then
            frmMain.lstValues.AddItem CotationsDates(i) & vbTab & .Data
        End If
    Next i
End With

    Set MyPlacement = Nothing

frmMain.ucAverageAction2.Caption = "Moyenne du placement (12 derniers mois) : " & CStr(Format(YearAverage / 53, "#0.00"))

' Pour que le curseur soit différent lorsque la souris passe sur le graphe
frmMain.MSChart1.DoSetCursor = True
frmMain.MSChart1.MousePointer = VtMousePointerCross

'********************************************************************************
'                           Paramètres de la légende
'********************************************************************************

frmMain.MSChart1.ShowLegend = True

'  Texte de la légende
With frmMain.MSChart1.Plot.SeriesCollection(1)
   .LegendText = "Valeur de " & CourbePlacement
End With

With frmMain.MSChart1.Legend
    .Location.LocationType = VtChLocationTypeRight             ' La légende sera au-dessus
    .TextLayout.HorzAlignment = VtVerticalAlignmentCenter      ' Alignement centré
    .VtFont.VtColor.Set 255, 255, 0                            ' Texte jaune.
    .Backdrop.Fill.Style = VtFillStyleBrush                    ' Style de fond
    .Backdrop.Fill.Brush.Style = VtBrushStyleHatched           ' Style de remplissage
    .Backdrop.Fill.Brush.FillColor.Set 159, 0, 255             ' Couleur de remplissage du fond de la
End With                                                       ' légende


'********************************************************************************
'                            Titre et mise en forme
'********************************************************************************

frmMain.MSChart1.TitleText = "Courbe de suivi d'action sur les 50 dernières valeurs"
With frmMain.MSChart1.Title.VtFont
    .Name = "Comic Sans MS"
    .Size = 15
    .Effect = VtFontEffectUnderline
End With
        
' Titre pour l'axe des Y côté gauche
With frmMain.MSChart1.Plot.Axis(1, 1)
     .AxisTitle.VtFont.Size = 14
     .AxisTitle.Visible = True
     .AxisTitle.Text = "Valeurs"
End With

' Virer les nombres côté droit
frmMain.MSChart1.Plot.Axis(2, 1).AxisScale.Hide = True
    
' Titre pour l'axe des X côté bas
With frmMain.MSChart1.Plot.Axis(0, 1)
     .AxisTitle.VtFont.Size = 14
     .AxisTitle.Visible = True
     .AxisTitle.Text = "Date"
End With


'********************************************************************************
'                         Couleurs et traits du graphe
'********************************************************************************
    
' Changer la couleur du graphe
With frmMain.MSChart1.Plot.SeriesCollection(1)
    .DataPoints(-1).Brush.FillColor.Set 255, 0, 0      ' couleur RGB
End With

' Changer la couleur du fond du graphe
With frmMain.MSChart1.Backdrop.Fill
    .Style = VtFillStyleBrush
    .Brush.FillColor.Set 255, 255, 255   'fond blanc
End With
  
' Placer une ligne colorée entre les éléments de la légende de l'axe Y ainsi que la ligne 0
With frmMain.MSChart1.Plot.Axis(VtChAxisIdX, 1)
    .Pen.VtColor.Set 237, 44, 78
End With
End Sub
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

10 mars 2007 20:07:07 :
Suppression d'une classe qui n'avait rien à faire là.
  • signaler à un administrateur
    Commentaire de 42wawa42 le 17/03/2007 23:35:10

    Hello mortalino

    J ai un petit problème de mise en marche de ton programme :
    Dans la routine:
    Public Sub Main()
    un message erreur run-time error ‘13’ :
    Type mismatch pour la ligne

    If CBool(Config.ReadIniString("APPLICATION", "FirstLaunch")) Then frmIni.Show Else frmMain.Show

    Voila.
    A plus sur VBFrance
    42wawa42

  • signaler à un administrateur
    Commentaire de mortalino le 17/03/2007 23:46:53

    Salut 42wawa42,

    je n'ai jamais eu ce problème, mais je pense à une chose, l'as tu empaqueté et installé sur un PC ?
    Si tel est le cas, il faut que tu rajoutes le dossier Datas dans le dossier où se trouve le .exe, car il y fait référence.
    Le problème je l'ai déjà eu avec InnoSetup, il faut rajouté le dossier dans les dépendances mais je ne me suis pas encore penché sur le sujet.

    ++

  • signaler à un administrateur
    Commentaire de 42wawa42 le 18/03/2007 11:56:12

    Hello mortalino
    Suite du commentaire du 17/03/2007 23:35:10:

    Apres download j’ai charger le programme dans VB6.0 et j’ai fait run. A la réponse que tu m’as donnée, j’ai copié les fichiers dans le même répertoire du programme, mais toujours le même petit problème.

    A plus sur VBFrance
    42wawa42

Ajouter un commentaire

Discussions en rapport avec ce code source

Appels d'offres

Pub



Snippets en rapport

CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS