XL 2016 Unités principales et secondaires dynamique pour graphique

Etoto

XLDnaute Barbatruc
Bonjour,

Dans cette discussion nous avions réussi à trouver un moyen de modifier dynamiquement les valeurs max et min d'un graphique, mais malheureusement les unités principales et secondaires de l'axe ne sont quant à elle pas actualisé donc certaines courbes sont toutes droites alors que pas défaut elle ne le sont pas. Voici le fichier avec quoi on a essayer de trouver la solution (Il contient la macro pour les données Max et Min déjà et ne faites pas attention à la feuille 1).

En gros je voudrais que comme les données MAX et MIN les unités principales et secondaires soient changée selon la donnée en question.

Merci d'avance
 

Pièces jointes

  • Copie de ETOTO - Données boursière actualisée-V3 (1).xlsm
    44.8 KB · Affichages: 20
Solution
Re,

J'ai trouvé le code !!!!!! Je n'ai cas rafraichir les axes.

VB:
    ActiveChart.Axes(xlValue).MinimumScaleIsAuto = True
    ActiveChart.Axes(xlValue).MaximumScaleIsAuto = True
    With ActiveChart.Axes()
        .MajorUnitIsAuto = True
        .DisplayUnit = xlHundreds
    End With
    ActiveChart.Axes(xlValue).MinorUnitIsAuto = True
End Sub

Etoto

XLDnaute Barbatruc
Bonjour ETOTO,
Repost tout de même, ta demande est peut être passée à la trappe ?
Combien y a t-il eu de vue ?
@+ Lolote83
Re,

Y'a eu 58 vues pour cette discussion, je sais que ce n'est pas impossible mais la question qui se pose est comment Excel choisis ces unités principales et secondaires selon le graphique ? Dés que l'on a cette réponse, le problème est pratiquement résolu.
 

Etoto

XLDnaute Barbatruc
Re,

Tu connais un code VBA qui fait comme ActiveChart.Axes(xlValue).MaximumScale mais pour les unités principale et secondaire ? Parce que dans le fond, il suffit de faire que dés que l'écart entre le nombre max et min dépasse 0.01 les unités principales et secondaires seront du genre 0.001 ou autre.
 

Etoto

XLDnaute Barbatruc
Re,

J'ai trouvé le code !!!!!! Je n'ai cas rafraichir les axes.

VB:
    ActiveChart.Axes(xlValue).MinimumScaleIsAuto = True
    ActiveChart.Axes(xlValue).MaximumScaleIsAuto = True
    With ActiveChart.Axes()
        .MajorUnitIsAuto = True
        .DisplayUnit = xlHundreds
    End With
    ActiveChart.Axes(xlValue).MinorUnitIsAuto = True
End Sub
 

Lolote83

XLDnaute Barbatruc
Re bonjour à tous,
En fait, c'est mon % qui foutais le bazard.
Regarde le fichier joint
Teste en modifiant le % et tu verras. Le mieux est de le laisser à 0%

En fait il fallait seulement qu'Excel réactualise les axes, merci beaucoup.
Oui, mais cela revient donc à avoir le graphique d'origine alors qu'à la base tu souhaitais réduire les valeurs des axes pour avoir une plage plus petite.

@+ Lolote83
 

Pièces jointes

  • Copie de ETOTO - Données boursière actualisée-V4.xlsm
    47.3 KB · Affichages: 4

Lolote83

XLDnaute Barbatruc
Re bonjour,
En fait, dès que tu changes une valeur en cellule AU8, cela modifie les valeurs des axes en fonction du Min et du Max trouvé dans la base.
Le bouton est juste présent pour afficher le graphique à l'origine et récupère simplement les valeurs pour comparaison.
De fait, en modifiant la cellule AU8, si le graphique donné ne te convient pas, tu pourras alors toujours cliquer sur le bouton bleu pour revenir à l'état initial.
Mais en ayant supprimer la valeur du %, cela fonctionne pas mal.
@+ Lolote83
 

Etoto

XLDnaute Barbatruc
Re bonjour,
En fait, dès que tu changes une valeur en cellule AU8, cela modifie les valeurs des axes en fonction du Min et du Max trouvé dans la base.
Le bouton est juste présent pour afficher le graphique à l'origine et récupère simplement les valeurs pour comparaison.
De fait, en modifiant la cellule AU8, si le graphique donné ne te convient pas, tu pourras alors toujours cliquer sur le bouton bleu pour revenir à l'état initial.
Mais en ayant supprimer la valeur du %, cela fonctionne pas mal.
@+ Lolote83
Re,

Ok merci
 

Discussions similaires

Réponses
6
Affichages
301
Réponses
2
Affichages
198