VBA - Graphique avec abscisses variants automatiquement

Le
akar.serkan
Bonjour à tous,

Je vous explique très vite fait mon problème.

J'effectue grâce à une macro un solveur donnant des résultats sur
plusieurs lignes, selon différents pourcentages appliqués pour un
produit.

Les pourcentages sont dans les cellules A16:A35 et les résultats en
B16:B35. Un graphique se crée automatiquement.

Le problème c'est qu'il arrive que selon la pertinence des résultats,
ma macro supprime automatiquement les lignes non intéressantes. Et
donc je peux me retrouver avec les données dans les cellules A16:A24
et B16:B24.

Et donc ce que cela engendre c'est que l'axe des abscisses (résultats
qui sont en forme de 4 chiffres après la virgules) débute toujours à
0. L'idéal pour moi, c'est qu'il débute toujours à la valeur
inférieure arrondie au dixième de la cellule B16
(=arrondi.inf(B16,1)).

Je ne sais vraiment pas comment faire et j'espère que j'ai bien sû
vous exposer mon problème.

Merci d'avance pour votre aide.


Point important: le graphique est créé sur une nouvelle feuille nommée
GraphProduits
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4321611
Bonjour.
A condition que le type de graphique soit un nuage de points, relié ou non
par une courbe :

ActiveSheet.ChartObjects(1).Activate
ActiveChart.Axes(xlCategory).MinimumScale = _
Int(Range("B16")) + (Int(Range("B16") * 10) Mod 10) / 10

Cordialement.
Daniel

Bonjour à tous,

Je vous explique très vite fait mon problème.

J'effectue grâce à une macro un solveur donnant des résultats sur
plusieurs lignes, selon différents pourcentages appliqués pour un
produit.

Les pourcentages sont dans les cellules A16:A35 et les résultats en
B16:B35. Un graphique se crée automatiquement.

Le problème c'est qu'il arrive que selon la pertinence des résultats,
ma macro supprime automatiquement les lignes non intéressantes. Et
donc je peux me retrouver avec les données dans les cellules A16:A24
et B16:B24.

Et donc ce que cela engendre c'est que l'axe des abscisses (résultats
qui sont en forme de 4 chiffres après la virgules) débute toujours à
0. L'idéal pour moi, c'est qu'il débute toujours à la valeur
inférieure arrondie au dixième de la cellule B16
(=arrondi.inf(B16,1)).

Je ne sais vraiment pas comment faire et j'espère que j'ai bien sû
vous exposer mon problème.

Merci d'avance pour votre aide.


Point important: le graphique est créé sur une nouvelle feuille nommée
GraphProduits
akar.serkan
Le #4321321
Merci tout d'abord pour la réponse..

Mais par contre je crois que ce code est pour un graphique situé sur
la même feuille que les données, ou je me trompes?

Mon graphique se créé sur une feuille graphique nommée
"GraphProduits".

Merci encore
Daniel
Le #4321291
En admettant que les données soient qur la feuille "Feuil1" :

With Sheets("Feuil1")
Sheets("GraphProduits").Select
ActiveChart.Axes(xlCategory).MinimumScale = _
Int(.Range("B16")) + (Int(.Range("B16") * 10) Mod 10) / 10
End With

Daniel

Merci tout d'abord pour la réponse..

Mais par contre je crois que ce code est pour un graphique situé sur
la même feuille que les données, ou je me trompes?

Mon graphique se créé sur une feuille graphique nommée
"GraphProduits".

Merci encore
Publicité
Poster une réponse
Anonyme