jony b good
XLDnaute Nouveau
Bonjour,
pour mon boulot j'ai besoin de créer une macro qui adapterait les axes de mes graphiques.
J'ai une série de valeurs (que je remonte grâce à Bloomberg) qui se met à jour une fois par semaine. De même, le fichier est envoyé automatiquement sur ma boite mail après mise à jour de façon hebdo également. Donc l'idée c'est que je ne touche pas du tout au fichier mais que je le récupère mis à jour.
Mon problème est que Excel est mauvais pour adapter les axes automatiquement et qu'il m'écrase ma série de données (il prend un mini bien trop bas et un maxi bien trop haut). J'ai regardé l'intérieur du code et j'ai codé le truc dessous mais y'a un problème avec les types des variables et si je ne passe pas par li,lj,mini,maxi il me dit que le type n'est pas approprié :
Sub Macro1()
li = "=+MAX(F7:F24)"
lj = "=+MIN(F7:F24)"
mini = "=+ENT(lj - li / 10)"
maxi = "=+ENT(li + 1 + li / 10)"
Cells(1, 1) = lj
Cells(1, 2) = li
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.PlotArea.Select
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.Axes(xlValue).Select
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.Axes(xlValue).MinimumScale = 0
ActiveChart.Axes(xlValue).MaximumScale = 12
ActiveChart.Axes(xlValue).MinimumScale = mini
ActiveChart.Axes(xlValue).MaximumScale = maxi
ActiveChart.Axes(xlValue).MajorUnit = 2
ActiveChart.Axes(xlValue).MajorUnit = (maxi - mini) / 10
End Sub
L'idée c'est d'avoir 10% de marge en haut et en bas pour avoir des graphiques bien proportionnés...
Si quelqu'un a une idée, je suis prêt à tout tenter !
Merci d'avance,
Jony knoxville
pour mon boulot j'ai besoin de créer une macro qui adapterait les axes de mes graphiques.
J'ai une série de valeurs (que je remonte grâce à Bloomberg) qui se met à jour une fois par semaine. De même, le fichier est envoyé automatiquement sur ma boite mail après mise à jour de façon hebdo également. Donc l'idée c'est que je ne touche pas du tout au fichier mais que je le récupère mis à jour.
Mon problème est que Excel est mauvais pour adapter les axes automatiquement et qu'il m'écrase ma série de données (il prend un mini bien trop bas et un maxi bien trop haut). J'ai regardé l'intérieur du code et j'ai codé le truc dessous mais y'a un problème avec les types des variables et si je ne passe pas par li,lj,mini,maxi il me dit que le type n'est pas approprié :
Sub Macro1()
li = "=+MAX(F7:F24)"
lj = "=+MIN(F7:F24)"
mini = "=+ENT(lj - li / 10)"
maxi = "=+ENT(li + 1 + li / 10)"
Cells(1, 1) = lj
Cells(1, 2) = li
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.PlotArea.Select
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.Axes(xlValue).Select
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.Axes(xlValue).MinimumScale = 0
ActiveChart.Axes(xlValue).MaximumScale = 12
ActiveChart.Axes(xlValue).MinimumScale = mini
ActiveChart.Axes(xlValue).MaximumScale = maxi
ActiveChart.Axes(xlValue).MajorUnit = 2
ActiveChart.Axes(xlValue).MajorUnit = (maxi - mini) / 10
End Sub
L'idée c'est d'avoir 10% de marge en haut et en bas pour avoir des graphiques bien proportionnés...
Si quelqu'un a une idée, je suis prêt à tout tenter !
Merci d'avance,
Jony knoxville