MAJ unité principale des graphiques d'un onglet via cellule

Bonjour,

Je suis désolé si ce topic a déjà été créé mais je ne trouve pas de réponse claire…

Dans le même état d'esprit que de piloter le "MaximumScale" et le "MinimumScale" avec une valeur d'une cellule.
J'aimerai pouvoir piloter l'unité principale de mes graphiques en mettant à jour la valeur d'une cellule.

Voici mon code actuel :

Sub echelle()
With Sheets("RACE 1").ChartObjects(1).Chart
.Axes(xlValue).MinimumScale = Range("I6").Value
.Axes(xlValue).MaximumScale = Range("I7").Value
.Axes(xlValue).MajorUnit = Range("I8").Value
End With
With Sheets("RACE 1").ChartObjects(2).Chart
.Axes(xlValue).MinimumScale = Range("I6").Value
.Axes(xlValue).MaximumScale = Range("I7").Value
.Axes(xlValue).MajorUnit = Range("I8").Value
End With
End Sub

Tout marche très bien jusqu'à que j'ajoute les lignes ".Axes(xlValue).MajorUnit = Range("I8").Value"
A ce moment là j'ai une erreur d'exécution '9': L'indice n'appartient pas à la sélection.

Je ne sais pas si ce détails est important mais cette macro est appelé dans une Macro privé.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Key As Range
    Set Key = Range("H6:H8")
If Not Application.Intersect(Key, Range(Target.Address)) _
           Is Nothing Then
           Call echelle
End If
End Sub

Help plz, merci d'avance

Bonjour,

Tout semble correct. Il faudrait qu'on puisse voir ce que vous avez fait, un fichier sans données confidentielles est souhaitable.

Cdlt

Oui bien évidemment avec un fichier c'est plus facile, le voici :

Essayez ceci

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Key As Range
    Set Key = Range("H6:H8")
    If Not Application.Intersect(Key, Range(Target.Address)) Is Nothing Then Call echelle
End Sub

Sub echelle()
    Sheets("RACE 1").ChartObjects("Graphique 1").Activate
    With ActiveChart
        .Axes(xlValue).MinimumScale = Range("I6").Value
        .Axes(xlValue).MaximumScale = Range("I7").Value
    End With
    With ActiveChart
        .Axes(xlCategory).MajorUnit = Range("I8").Value
    End With

    Sheets("RACE 1").ChartObjects("Graphique 4").Activate
    With ActiveChart
        .Axes(xlValue).MinimumScale = Range("I6").Value
        .Axes(xlValue).MaximumScale = Range("I7").Value
    End With
    With ActiveChart
        .Axes(xlCategory).MajorUnit = Range("I8").Value
    End With
End Sub

Cdlt

Rechercher des sujets similaires à "maj unite principale graphiques onglet via"