Mettre à jours les échelles des graphiques via une macro

Résolu/Fermé
RicPix Messages postés 10 Date d'inscription dimanche 22 février 2015 Statut Membre Dernière intervention 24 janvier 2018 - 16 mars 2015 à 16:49
RicPix Messages postés 10 Date d'inscription dimanche 22 février 2015 Statut Membre Dernière intervention 24 janvier 2018 - 16 mars 2015 à 21:14
Bonjour,
J'ai fais une macro qui permet de mettre à jours les échelles de mes graphiques, mais j'ai un problème.
La mise à jour se fait :
- Lorsque le maxi est renseigné
- Lorsque le mini et le maxi sont renseignés
Mais elle ne se fait pas :
- Lorsque le mini uniquement est renseigné.

Comment faire ? :(

Voici ma macro :

ActiveSheet.ChartObjects("Graph1").Activate
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
.MinimumScale = Range("Y12").Value
.MaximumScale = Range("Z12").Value
End With
If Range("Y12").Value = "" Then
ActiveSheet.ChartObjects("Graph1").Activate
ActiveChart.Axes(xlValue).MinimumScaleIsAuto = True
End If
If Range("Z12").Value = "" Then
ActiveSheet.ChartObjects("Graph1").Activate
ActiveChart.Axes(xlValue).MaximumScaleIsAuto = True
End If
A voir également:

3 réponses

ccm81 Messages postés 10855 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 avril 2024 2 404
16 mars 2015 à 17:47
Bonjour

Essaies comme ceci

With ActiveSheet.ChartObjects("Graph1").Activate
If Range("Y12").Value = "" Then
  ActiveChart.Axes(xlValue).MinimumScaleIsAuto = True
else
  ActiveChart.Axes(xlValue).MinimumScale = Range("Y12").Value
End If
If Range("Z12").Value = "" Then
  ActiveChart.Axes(xlValue).MaximumScaleIsAuto = True
else
  ActiveChart.Axes(xlValue).MaximumScale = Range("Z12").Value
End If

Cdlmnt
1
RicPix Messages postés 10 Date d'inscription dimanche 22 février 2015 Statut Membre Dernière intervention 24 janvier 2018
16 mars 2015 à 19:16
Oh merci, ça marche super bien ! :)

J'ai plus qu'à l'adapter pour tous mes graphiques et ça sera super.

Par contre, j'ai une autre question, un peu en décalé, mais :
- Si je veux appliquer une mise à jour des échelles à la centaine de graphes que j'ai dans ma feuille de la même façon, je dois noter quoi pour tous les affecter ?
(PS : Je veux juste modifier leurs ordonnées).
0
RicPix Messages postés 10 Date d'inscription dimanche 22 février 2015 Statut Membre Dernière intervention 24 janvier 2018
16 mars 2015 à 20:34
Hum, modifier les abscisse pardon
0
RicPix Messages postés 10 Date d'inscription dimanche 22 février 2015 Statut Membre Dernière intervention 24 janvier 2018
16 mars 2015 à 21:14
Ah non, c'est bon, j'ai trouvé, j'ai fait comme ceci :

Dim Graphes As ChartObject

For Each Graphes In ActiveWorkbook.ActiveSheet.ChartObjects
With Graphes.Chart.Axes(xlCategory)
If Range("U12").Value = "" Then
.MinimumScaleIsAuto = True
Else
.MinimumScale = Range("U12").Value
End If
If Range("V12").Value = "" Then
.MaximumScaleIsAuto = True
Else
.MaximumScale = Range("V12").Value
End If
End With
Next
0