Question

J'ai un graphique dans une feuille de calcul Excel et une macro est configurée pour que, lorsque je modifie la valeur d'une cellule donnée, la plage de données du graphique soit définie sur A2 par défaut autant que le numéro de ligne correspondant à cette certaine cellule.

Ce que je ne semble pas pouvoir faire est de modifier l’axe car l’axe spécifié ne couvre plus la plage du graphique, c’est-à-dire que l’axe X actuel est défini sur:

=Sheet1!$C$2:$C$600

Je ne vois pas comment mettre à jour cela dans une macro. Toute aide serait la bienvenue.

Était-ce utile?

La solution

Vous devriez pouvoir définir la propriété XValues ??de la même manière que dans la réponse de Lance pour votre autre question .

Charts("chartname").SeriesCollection(1).XValues = "=MYXAXIS"

ou ce que vous appelez la plage nommée pour les valeurs de l'axe des x. Si vous avez plusieurs séries dans votre graphique, vous voudrez modifier la valeur dans SeriesCollection afin de faire référence à la série appropriée.

Autres conseils

Est-ce que la "certaine cellule" contient le dernier numéro de ligne des données? (ce n'est pas tout à fait clair)

Supposons que la cellule F1 contienne la dernière ligne des données. Vous pouvez construire une adresse et une plage comme ceci:

Dim rXVals As Range
Dim sAddress AS String

sAddress = "Sheet1!$C$2:$C<*>quot; & Worksheets("Sheet1").Range("F1").Value
Set rXVals = Range(sAddress)
Worksheets("Sheet1").ChartObjects(1).Chart.SeriesCollection(1).XValues = rXVals
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top