Mettre à jours les échelles des graphiques via une macro

Résolu
RicPix Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
RicPix Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
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

3 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  2. RicPix Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    1. RicPix Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
       
      Hum, modifier les abscisse pardon
      0
  3. RicPix Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
     
    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