Je voudrais réaliser un graphique avec une échelle des abscisses qui varient
automatiquement entre les valeurs mini et maxi de ma plage de données.
Pour le maxi, cela marche bien lorsque je coche la case correspondante.
Mais pour le mini, il retient systématiquement 0.
Je peux le modifier manuellement (en saisissant la valeur) mais comme la
plage des abcisses est évolutive, je cherche un moyen plus automatisé.
Si jamais c'est assez clair comme énoncé et que vous connaissez une solution
à ma portée (sans macro), je suis à votre lecture.
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
FxM
Bonsoir Hélène,
Quelque chose comme : Sub test() With ActiveChart.Axes(xlCategory) .MinimumScale = Application.Min(Sheets("Feuil1").Range("A2:A4")) End With End Sub
sous réserve que le graphe soit actif et que les valeurs de X soient dans les cellules A2 à A4 de la feuil1.
@+ FxM
On 03/08/04 21:52, LN wrote:
Bonsoir,
Je voudrais réaliser un graphique avec une échelle des abscisses qui varient automatiquement entre les valeurs mini et maxi de ma plage de données. Pour le maxi, cela marche bien lorsque je coche la case correspondante. Mais pour le mini, il retient systématiquement 0. Je peux le modifier manuellement (en saisissant la valeur) mais comme la plage des abcisses est évolutive, je cherche un moyen plus automatisé. Si jamais c'est assez clair comme énoncé et que vous connaissez une solution à ma portée (sans macro), je suis à votre lecture.
D'avance merci. LN
Bonsoir Hélène,
Quelque chose comme :
Sub test()
With ActiveChart.Axes(xlCategory)
.MinimumScale = Application.Min(Sheets("Feuil1").Range("A2:A4"))
End With
End Sub
sous réserve que le graphe soit actif et que les valeurs de X soient
dans les cellules A2 à A4 de la feuil1.
@+
FxM
On 03/08/04 21:52, LN wrote:
Bonsoir,
Je voudrais réaliser un graphique avec une échelle des abscisses qui varient
automatiquement entre les valeurs mini et maxi de ma plage de données.
Pour le maxi, cela marche bien lorsque je coche la case correspondante.
Mais pour le mini, il retient systématiquement 0.
Je peux le modifier manuellement (en saisissant la valeur) mais comme la
plage des abcisses est évolutive, je cherche un moyen plus automatisé.
Si jamais c'est assez clair comme énoncé et que vous connaissez une solution
à ma portée (sans macro), je suis à votre lecture.
Quelque chose comme : Sub test() With ActiveChart.Axes(xlCategory) .MinimumScale = Application.Min(Sheets("Feuil1").Range("A2:A4")) End With End Sub
sous réserve que le graphe soit actif et que les valeurs de X soient dans les cellules A2 à A4 de la feuil1.
@+ FxM
On 03/08/04 21:52, LN wrote:
Bonsoir,
Je voudrais réaliser un graphique avec une échelle des abscisses qui varient automatiquement entre les valeurs mini et maxi de ma plage de données. Pour le maxi, cela marche bien lorsque je coche la case correspondante. Mais pour le mini, il retient systématiquement 0. Je peux le modifier manuellement (en saisissant la valeur) mais comme la plage des abcisses est évolutive, je cherche un moyen plus automatisé. Si jamais c'est assez clair comme énoncé et que vous connaissez une solution à ma portée (sans macro), je suis à votre lecture.
D'avance merci. LN
twinley
Bonjour,
Une macro donnée par un membre du MPFE avec quelques explications
è Graphique échelle adaptée en 10 pts
Sub MaJEchelle() With ActiveSheet.ChartObjects("Graphique 1").Chart.Axes(xlValue) .MinimumScale = 10 * (Int(WorksheetFunction.Min(Range("B:B")) _ / 10) + (Right(Int(WorksheetFunction.Min(Range("B:B"))), 1) = "0")) .MaximumScale = 10 * (Int(WorksheetFunction.Max(Range("B:B")) / 10)+ 1) .MajorUnit = 5 End With End Sub
Pour les cas particuliers : si le minimum est un multiple de 10, l'échelle débute par le multiple inférieur au minimum. Si le maximum est un multiple de 10, alors l'échelle s'arrête au multiple suivant. La partie "+ (Right(Int(Min), 1) = "0")" permet de traiter les cas particuliers pour lesquels le min est un multiple de 10. Lorsque c'est le cas, le caractère de droite du min est un 0, et la condition (Right(Int(Min), 1) = "0") renvoit -1 (-1 pour VRAI, 0 pour FAUX). Lorque min est multiple de 10, le minimum choisi n'est alors pas ce multiple, mais celui le précédent. Un point ne pourra donc jamais toucher le bas du graphique.
Pour le max, cette condition est inutile (on rajoute toujours +10 à l'arrondi inférieur).
-- à+twinley "LN" a écrit dans le message de news:ceoqcp$78m$
Bonsoir,
Je voudrais réaliser un graphique avec une échelle des abscisses qui varient
automatiquement entre les valeurs mini et maxi de ma plage de données. Pour le maxi, cela marche bien lorsque je coche la case correspondante. Mais pour le mini, il retient systématiquement 0. Je peux le modifier manuellement (en saisissant la valeur) mais comme la plage des abcisses est évolutive, je cherche un moyen plus automatisé. Si jamais c'est assez clair comme énoncé et que vous connaissez une solution
à ma portée (sans macro), je suis à votre lecture.
D'avance merci. LN
Bonjour,
Une macro donnée par un membre du MPFE avec quelques explications
è Graphique échelle adaptée en 10 pts
Sub MaJEchelle()
With ActiveSheet.ChartObjects("Graphique 1").Chart.Axes(xlValue)
.MinimumScale = 10 * (Int(WorksheetFunction.Min(Range("B:B")) _
/ 10) + (Right(Int(WorksheetFunction.Min(Range("B:B"))), 1) = "0"))
.MaximumScale = 10 * (Int(WorksheetFunction.Max(Range("B:B")) / 10)+ 1)
.MajorUnit = 5
End With
End Sub
Pour les cas particuliers : si le minimum est un multiple de 10, l'échelle
débute par le multiple inférieur au minimum. Si le maximum est un multiple
de 10, alors l'échelle s'arrête au multiple suivant.
La partie "+ (Right(Int(Min), 1) = "0")" permet de traiter les cas
particuliers pour lesquels le min est un multiple de 10. Lorsque c'est le
cas, le caractère de droite du min est un 0, et la condition
(Right(Int(Min), 1) = "0") renvoit -1 (-1 pour VRAI, 0 pour FAUX). Lorque
min est multiple de 10, le minimum choisi n'est alors pas ce multiple, mais
celui le précédent. Un point ne pourra donc jamais toucher le bas du
graphique.
Pour le max, cette condition est inutile (on rajoute toujours +10 à
l'arrondi inférieur).
--
à+twinley
"LN" <dissane.helene@wanadoo.fr> a écrit dans le message de
news:ceoqcp$78m$1@news-reader4.wanadoo.fr...
Bonsoir,
Je voudrais réaliser un graphique avec une échelle des abscisses qui
varient
automatiquement entre les valeurs mini et maxi de ma plage de données.
Pour le maxi, cela marche bien lorsque je coche la case correspondante.
Mais pour le mini, il retient systématiquement 0.
Je peux le modifier manuellement (en saisissant la valeur) mais comme la
plage des abcisses est évolutive, je cherche un moyen plus automatisé.
Si jamais c'est assez clair comme énoncé et que vous connaissez une
solution
à ma portée (sans macro), je suis à votre lecture.
Une macro donnée par un membre du MPFE avec quelques explications
è Graphique échelle adaptée en 10 pts
Sub MaJEchelle() With ActiveSheet.ChartObjects("Graphique 1").Chart.Axes(xlValue) .MinimumScale = 10 * (Int(WorksheetFunction.Min(Range("B:B")) _ / 10) + (Right(Int(WorksheetFunction.Min(Range("B:B"))), 1) = "0")) .MaximumScale = 10 * (Int(WorksheetFunction.Max(Range("B:B")) / 10)+ 1) .MajorUnit = 5 End With End Sub
Pour les cas particuliers : si le minimum est un multiple de 10, l'échelle débute par le multiple inférieur au minimum. Si le maximum est un multiple de 10, alors l'échelle s'arrête au multiple suivant. La partie "+ (Right(Int(Min), 1) = "0")" permet de traiter les cas particuliers pour lesquels le min est un multiple de 10. Lorsque c'est le cas, le caractère de droite du min est un 0, et la condition (Right(Int(Min), 1) = "0") renvoit -1 (-1 pour VRAI, 0 pour FAUX). Lorque min est multiple de 10, le minimum choisi n'est alors pas ce multiple, mais celui le précédent. Un point ne pourra donc jamais toucher le bas du graphique.
Pour le max, cette condition est inutile (on rajoute toujours +10 à l'arrondi inférieur).
-- à+twinley "LN" a écrit dans le message de news:ceoqcp$78m$
Bonsoir,
Je voudrais réaliser un graphique avec une échelle des abscisses qui varient
automatiquement entre les valeurs mini et maxi de ma plage de données. Pour le maxi, cela marche bien lorsque je coche la case correspondante. Mais pour le mini, il retient systématiquement 0. Je peux le modifier manuellement (en saisissant la valeur) mais comme la plage des abcisses est évolutive, je cherche un moyen plus automatisé. Si jamais c'est assez clair comme énoncé et que vous connaissez une solution
à ma portée (sans macro), je suis à votre lecture.