VBA graphique,l'autoscale de l'abscisse est perdue
2 réponses
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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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%23fmomEHA.2612@TK2MSFTNGP15.phx.gbl...
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.
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
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
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%23fmomEHA.2612@TK2MSFTNGP15.phx.gbl...
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.
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.