Echelle du graphique selon le cours de bourse?

jay18

XLDnaute Nouveau
Hello le forum,

J'ai trouvé des sujets qui s'approchaient de mon probleme, mais aucun ne me donnait la solution.

J'ai crée une macro me permettant de rapatrier les cours de bourse grace au site yahoo. J'ai donc une petite case "symbol" sur ma feuille où je rentre mon mnémonique et j'obtiens les cours souhaités.
Le probleme est que j'ai essayé de mettre en place un graphique dont les axes et l'échelle s'ajustent selon le cours téléchargé.

Un de mes amis m'a déniché une macro sur internet où un graphique était préalablement construit. Cette macro s'integre dans le code qui me permet de télécharger les cours et se présente sous cette forme :

Sub UpdateScale()
Dim ChartVar As chart
Dim lMax As Long, lMin As Long

On Error GoTo ScalingProblem
'Assigns the values in the Min and Max ranges to variables.
With Sheet1
lMax = .Range("Max").Value
lMin = .Range("Min").Value
'Creates chart object.
Set ChartVar = .ChartObjects("Chart 32").chart
With ChartVar.Axes(xlValue, xlPrimary) 'Adjusts the price axis
.MinimumScale = lMin
.MaximumScale = lMax
End With
End With
Exit Sub
ScalingProblem:
RetrievalProblem:
MsgBox "Unable to update chart scale.", vbCritical + vbOKOnly, "Scaling Error"
End Sub

Avec l'exemple, tout marche impecc, mais lorsque j'essaye de le refaire par moi même sur une autre feuille excel, j'ai a chaque fois le message d'erreur "UNABLE TO UPDATE CHART SCALE".
Y'a t'il quelque chose que je dois integrer lors de l'insertion du graph??Dois je specifier a quelque part IMAX et IMIN?? A noter que sur la feuille excel il y a deux case Chart Max et Min, mais je ne sais pas comment elles sont intégrées dans le graphique.

Si cela n'est pas assez clair pour vous, je veux bien mettre le fichier de mon ami

Merci d'avance tout le monde
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Echelle du graphique selon le cours de bourse?

Bonsoir,
Y'a t'il quelque chose que je dois integrer lors de l'insertion du graph??Dois je specifier a quelque part IMAX et IMIN?? A noter que sur la feuille excel il y a deux case Chart Max et Min, mais je ne sais pas comment elles sont intégrées dans le graphique.
...
lMax = .Range("Max").Value
lMin = .Range("Min").Value
...
A priori, 2 cellules sont nommées "Max" et "Min" et doivent sûrement contenir une formule (Va voir Menu/Insertion/Nom/Définir)
Il est sûr qu'avec le fichier se serait un plus
A+
kjin
 

jay18

XLDnaute Nouveau
Re : Echelle du graphique selon le cours de bourse?

Hello Kjin,

Merci pour la réponse, en effet les deux cellules contiennent des formules qui permettent de calculer le Min et le max de chaque plage selectionnée. Mon probleme est que je ne sais pas comment elles arrivent à être prises en comtpe par le graphique.

Je laisse le fichier à disposition

EDIT: le fichier fait 900 Ko, si je te l'envoi en MP la taille passera?
 

kjin

XLDnaute Barbatruc
Re : Echelle du graphique selon le cours de bourse?

Bonjour,
As tu regardé dans le module de la feuille "sheet1", comment était appelée la macro "UpdateScale" ?
Inutile de faire passer tout le fichier, à priori juste la feuille "sheet1" avec le graphique(graphique32) et qq données fictives, et penses à zipper le fichier avant de poster. S'il est encore trop lourd, passes par Accueil de Cjoint.com et postes le lien ici
A+
kjin
 

jay18

XLDnaute Nouveau
Re : Echelle du graphique selon le cours de bourse?

Hello kjin, voici le lien de mon fichier :

Tu verras, le graphique déjà inséré est celui de l'exemple, mais lorsque j'essaye d'en remettre un il ne prend plus les valeurs chart max et min. Je pense que je dois les intégrer quelque part mais où, ca je n'en ai pas la moindre idée

Merci de ton aide
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Echelle du graphique selon le cours de bourse?

Bonsoir,
Je suppose que tu doit disposer d'une version anglaise d'excel (bonjour les pb de points et virgules)
La macro UpdateScale s'applique au graphique nommé "Graphique 32", donc si tu rajoutes un(des) autre(s) avec les même Min et Max, soit tu indiques le nom du(des) nouveau(x) graphique(s) dans une copie de cette procédure, soit plus simplement tu boucles sur tous les graphiques de la feuille pour leur appliquer l'échelle
Code:
Sub UpdateScale()
Dim ChartVar As chart
Dim lMax As Long, lMin As Long
Dim i As Integer
On Error GoTo ScalingProblem
    'Assigns the values in the Min and Max ranges to variables.
    With Sheet1
        lMax = .Range("Max").Value
        lMin = .Range("Min").Value
        For i = 1 To ActiveSheet.ChartObjects.Count
        'Creates chart object.
        Set ChartVar = .ChartObjects(i).chart
            With ChartVar.Axes(xlValue, xlPrimary)
            'Adjusts the price axis
                .MinimumScale = lMin
                .MaximumScale = lMax
            End With
        Next
    End With
Exit Sub

ScalingProblem:
RetrievalProblem:
    MsgBox "Unable to update chart scale.", vbCritical + vbOKOnly, "Scaling Error"
End Sub
En outre, je ne comprends pas bien les formules des plages nommées "Close" et "Date" qui servent à alimenter ton graphique, à moins que ce ne soit une erreur
A+
kjin
 

jay18

XLDnaute Nouveau
Re : Echelle du graphique selon le cours de bourse?

Hello kjin,

désolé de répondre si tard, je n'ai pas pu essayer depuis, la je réessaye sur une machine en européenne (me renvoit des messages d'erreur a causes des chiffres à l'anglaise)

Je te dis si ca marche dès que je m'y remet (sous peu)

encore merci de ton aide

EDIT: en fait, comme tu l'avais remarqué, je travaillais sur un poste où excel était en version anglaise (les chiffres à l'US avec les points)

La je suis en train d'essayer sur une version francaise, et même en changeant le format du nombre, les chiffres s'affichent avec des points, ce qui fait logiquement que, lorsque je cherche à faire la fonction MIN ou MAX il me retourne un message d'erreur.
Bizarrement, la colonne volume est bien prise en compte.

Aurais tu une idée face a ce (nouveau) probleme. J'avoue jamais n'y avoir pensé
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Echelle du graphique selon le cours de bourse?

Bonsoir,
Comme je disais dans mon message précedent, je ne comprends pas très bien les formules des plages nommées "close" et "date", en d"autres termes quelles plages de valeurs doit prendre en compte ton graphique ?
Il faut une fois les données chargées, il faut remplacer le point par une virgule dans toutes les plages
A+
kjin
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 186
dernier inscrit
Eliyass