OVH Cloud OVH Cloud

VBA graphique,l'autoscale de l'abscisse est perdue

2 réponses
Avatar
twinley
Bonjour à tous,

Dans un graphique, je viens de perdre l'autoscale de l'abscisse. Je ne sais
pas pourquoi, mais bon.
C'est un graphique qui utilise un nom défini (decaler...) qui permet
d'afficher les 200 ou les 55 dernières données par exemple.

Quel bout de code faut-il envoyer pour remettre une échelle X automatique,
càd qui affiche les données sur la totalité de l'axe X ? Actuellement j'ai
55 données dans un coin du graphique alors qu'on pourrait en afficher 250.

J'utilise le code suivant pour l'autoscale de Y, et c'est ok :

With
Worksheets("Graph1").ChartObjects("Graphique1m").Chart.Axes(xlValue)
If Right(Int(Mini), 1) < 5 Then
.MinimumScale = 10 * (Int(Mini / 10) + (Right(Int(Mini), 1) =
"0"))
Else
.MinimumScale = 5 * (Int(Mini / 5) + (Right(Int(Mini), 1) =
"5"))
End If
.MaximumScale = 5 * (Int(Maxi / 5) + 1)
.MajorUnit = 5
End With

Je ne vois pas d'option dans les menus pour X. Cela a fonctionné mais
impossible de dire à la suite de quelle manip osée à mis la pagaille.

Merci pour toute suggestion.
--
à+twinley

2 réponses

Avatar
twinley
Bon matin

Oh làlà , je viens de trouver.
J'ai repassé la série principale en type courbe puis je l'ai remis en nuage
de points... et cette ***** d'échelle X est revenue en mode autoscale.
Si c'est pas un bug, docteur, qu'est ce c'est ?
Sur ce, bonne nuit ! ouf.
--
à+twinley
"twinley" <twinleym(at)hotmail.com> a écrit dans le message de
news:OAj%

Bonjour à tous,

Dans un graphique, je viens de perdre l'autoscale de l'abscisse. Je ne
sais

pas pourquoi, mais bon.
C'est un graphique qui utilise un nom défini (decaler...) qui permet
d'afficher les 200 ou les 55 dernières données par exemple.

Quel bout de code faut-il envoyer pour remettre une échelle X automatique,
càd qui affiche les données sur la totalité de l'axe X ? Actuellement j'ai
55 données dans un coin du graphique alors qu'on pourrait en afficher 250.

J'utilise le code suivant pour l'autoscale de Y, et c'est ok :

With
Worksheets("Graph1").ChartObjects("Graphique1m").Chart.Axes(xlValue)
If Right(Int(Mini), 1) < 5 Then
.MinimumScale = 10 * (Int(Mini / 10) + (Right(Int(Mini), 1) > "0"))
Else
.MinimumScale = 5 * (Int(Mini / 5) + (Right(Int(Mini), 1) > "5"))
End If
.MaximumScale = 5 * (Int(Maxi / 5) + 1)
.MajorUnit = 5
End With

Je ne vois pas d'option dans les menus pour X. Cela a fonctionné mais
impossible de dire à la suite de quelle manip osée à mis la pagaille.

Merci pour toute suggestion.
--
à+twinley




Avatar
twinley
Bonjour

Sur ce sujet qui passionne les foules, j'apporte quelques précisions :
les courbes de mon graphique sont sous la forme d'une dizaines de noms
définis par
ÞCALER(Graph1!$B$11;Graph1!$A$11-1;0;Graph1!$B$11;1)
ÞCALER(flux.xls!XValues;0;4)
le graphique était enregistré en modèle types personnalisés.
Cela a fonctionné plusieurs semaines. Puis soudain, c'est le drame et je ne
sais pas ce qui l'a perturbé.
J'ai donc supprimé tous les types perso, j'ai remis la série principale en
courbes puis retour en nuage de point.
Et c'est OK. Le Pb semble lié au types personnalisés
--
à+twinley
"twinley" <twinleym(at)hotmail.com> a écrit dans le message de
news:OAj%

Bonjour à tous,

Dans un graphique, je viens de perdre l'autoscale de l'abscisse. Je ne
sais

pas pourquoi, mais bon.
C'est un graphique qui utilise un nom défini (decaler...) qui permet
d'afficher les 200 ou les 55 dernières données par exemple.

Quel bout de code faut-il envoyer pour remettre une échelle X automatique,
càd qui affiche les données sur la totalité de l'axe X ? Actuellement j'ai
55 données dans un coin du graphique alors qu'on pourrait en afficher 250.

J'utilise le code suivant pour l'autoscale de Y, et c'est ok :

With
Worksheets("Graph1").ChartObjects("Graphique1m").Chart.Axes(xlValue)
If Right(Int(Mini), 1) < 5 Then
.MinimumScale = 10 * (Int(Mini / 10) + (Right(Int(Mini), 1) > "0"))
Else
.MinimumScale = 5 * (Int(Mini / 5) + (Right(Int(Mini), 1) > "5"))
End If
.MaximumScale = 5 * (Int(Maxi / 5) + 1)
.MajorUnit = 5
End With

Je ne vois pas d'option dans les menus pour X. Cela a fonctionné mais
impossible de dire à la suite de quelle manip osée à mis la pagaille.

Merci pour toute suggestion.
--
à+twinley