Faire coincider le quadrillage dans histogramme à deux axes ?
9 réponses
raph
Salut à tou(te)s,
Existe-t-il un moyen simple pour que dans un histogramme à 2 axes, le
quadrillage (horizontal) "relie" les valeurs des axes ?
Ceci par simple souci esthétique.
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,
De lon et sans avoir testé, il faudrait le même nombre de divisions.
@+ FxM
Raph wrote:
Salut à tou(te)s,
Existe-t-il un moyen simple pour que dans un histogramme à 2 axes, le quadrillage (horizontal) "relie" les valeurs des axes ? Ceci par simple souci esthétique.
Bonsoir,
De lon et sans avoir testé, il faudrait le même nombre de divisions.
@+
FxM
Raph wrote:
Salut à tou(te)s,
Existe-t-il un moyen simple pour que dans un histogramme à 2 axes, le
quadrillage (horizontal) "relie" les valeurs des axes ?
Ceci par simple souci esthétique.
De lon et sans avoir testé, il faudrait le même nombre de divisions.
@+ FxM
Raph wrote:
Salut à tou(te)s,
Existe-t-il un moyen simple pour que dans un histogramme à 2 axes, le quadrillage (horizontal) "relie" les valeurs des axes ? Ceci par simple souci esthétique.
raph
FxM écrit:
Bonsoir,
De lon et sans avoir testé, il faudrait le même nombre de divisions.
En effet, c'est une condition nécessaire, mais pas suffisante : parfois ça tombe juste, d'autres fois non, et je ne vois pas pourquoi. En plus de ça j'ai des durées (h:mm:ss) d'un côté et des grandes valeurs de l'autre. Faut tâtonner...
-- Raph
FxM <fxmanceaux@chello.fr> écrit:
Bonsoir,
De lon et sans avoir testé, il faudrait le même nombre de divisions.
En effet, c'est une condition nécessaire, mais pas suffisante : parfois
ça tombe juste, d'autres fois non, et je ne vois pas pourquoi.
En plus de ça j'ai des durées (h:mm:ss) d'un côté et des grandes valeurs
de l'autre. Faut tâtonner...
De lon et sans avoir testé, il faudrait le même nombre de divisions.
En effet, c'est une condition nécessaire, mais pas suffisante : parfois ça tombe juste, d'autres fois non, et je ne vois pas pourquoi. En plus de ça j'ai des durées (h:mm:ss) d'un côté et des grandes valeurs de l'autre. Faut tâtonner...
-- Raph
garnote
Salut Raph,
Ai-je bien compris ? Si ton histogramme contient un axe secondaire et si pour l'échelle de l'axe principal : Minimum = a Maximum = b Unité principale = c Il faut alors que l'échelle de l'axe secondaire soit de la forme : Minimum = k*a + t Maximum = k*b + t Unité principale = k*c où k et t sont des nombres quelconques. Exemple : Si a = 0, b = 90 et c = 10 Alors pour k = 1,7 et t = 4,5. Échelle secondaire : Minimum = 4,5 Maximum = 157,5 Unité principale = 17
??? et ;-)))
Serge
"Raph" a écrit dans le message de news: 1g4ez96.1vh8ntx8xi2s1N%
Salut à tou(te)s,
Existe-t-il un moyen simple pour que dans un histogramme à 2 axes, le quadrillage (horizontal) "relie" les valeurs des axes ? Ceci par simple souci esthétique.
-- Raph
Salut Raph,
Ai-je bien compris ? Si ton histogramme contient un
axe secondaire et si pour l'échelle de l'axe principal :
Minimum = a
Maximum = b
Unité principale = c
Il faut alors que l'échelle de l'axe secondaire soit de
la forme :
Minimum = k*a + t
Maximum = k*b + t
Unité principale = k*c
où k et t sont des nombres quelconques.
Exemple :
Si a = 0, b = 90 et c = 10
Alors pour k = 1,7 et t = 4,5. Échelle secondaire :
Minimum = 4,5
Maximum = 157,5
Unité principale = 17
??? et ;-)))
Serge
"Raph" <raph@nospam.org> a écrit dans le message de news:
1g4ez96.1vh8ntx8xi2s1N%raph@nospam.org...
Salut à tou(te)s,
Existe-t-il un moyen simple pour que dans un histogramme à 2 axes, le
quadrillage (horizontal) "relie" les valeurs des axes ?
Ceci par simple souci esthétique.
Ai-je bien compris ? Si ton histogramme contient un axe secondaire et si pour l'échelle de l'axe principal : Minimum = a Maximum = b Unité principale = c Il faut alors que l'échelle de l'axe secondaire soit de la forme : Minimum = k*a + t Maximum = k*b + t Unité principale = k*c où k et t sont des nombres quelconques. Exemple : Si a = 0, b = 90 et c = 10 Alors pour k = 1,7 et t = 4,5. Échelle secondaire : Minimum = 4,5 Maximum = 157,5 Unité principale = 17
??? et ;-)))
Serge
"Raph" a écrit dans le message de news: 1g4ez96.1vh8ntx8xi2s1N%
Salut à tou(te)s,
Existe-t-il un moyen simple pour que dans un histogramme à 2 axes, le quadrillage (horizontal) "relie" les valeurs des axes ? Ceci par simple souci esthétique.
-- Raph
raph
garnote écrit:
Salut Raph,
Salut Serge
Ai-je bien compris ? Si ton histogramme contient un axe secondaire et si pour l'échelle de l'axe principal : Minimum = a Maximum = b Unité principale = c Il faut alors que l'échelle de l'axe secondaire soit de la forme : Minimum = k*a + t Maximum = k*b + t Unité principale = k*c où k et t sont des nombres quelconques. Exemple : Si a = 0, b = 90 et c = 10 Alors pour k = 1,7 et t = 4,5. Échelle secondaire : Minimum = 4,5 Maximum = 157,5 Unité principale = 17
??? et ;-)))
Euh oui ça m'a l'air logique, je vais tester à tête reposée :) Il me faut, comme conditions de départ : a = b = 0 J'aimerais 6 ou 7 valeurs par axe. Je prends un de mes exemples : Les valeurs de l'axe 1 s'échelonnent de 0'23" à 43'25" (donc de 0,000266204 à 0,030381944 en format standard), tandis que celles de l'axe 2 varient de 0 à... 4028. Ça fait de très grands écarts.
Je vais essayer d'appliquer tes conseils, merci.
-- Raph
garnote <rien@absent.net> écrit:
Salut Raph,
Salut Serge
Ai-je bien compris ? Si ton histogramme contient un
axe secondaire et si pour l'échelle de l'axe principal :
Minimum = a
Maximum = b
Unité principale = c
Il faut alors que l'échelle de l'axe secondaire soit de
la forme :
Minimum = k*a + t
Maximum = k*b + t
Unité principale = k*c
où k et t sont des nombres quelconques.
Exemple :
Si a = 0, b = 90 et c = 10
Alors pour k = 1,7 et t = 4,5. Échelle secondaire :
Minimum = 4,5
Maximum = 157,5
Unité principale = 17
??? et ;-)))
Euh oui ça m'a l'air logique, je vais tester à tête reposée :)
Il me faut, comme conditions de départ : a = b = 0
J'aimerais 6 ou 7 valeurs par axe.
Je prends un de mes exemples :
Les valeurs de l'axe 1 s'échelonnent de 0'23" à 43'25" (donc de
0,000266204 à 0,030381944 en format standard), tandis que celles de
l'axe 2 varient de 0 à... 4028.
Ça fait de très grands écarts.
Ai-je bien compris ? Si ton histogramme contient un axe secondaire et si pour l'échelle de l'axe principal : Minimum = a Maximum = b Unité principale = c Il faut alors que l'échelle de l'axe secondaire soit de la forme : Minimum = k*a + t Maximum = k*b + t Unité principale = k*c où k et t sont des nombres quelconques. Exemple : Si a = 0, b = 90 et c = 10 Alors pour k = 1,7 et t = 4,5. Échelle secondaire : Minimum = 4,5 Maximum = 157,5 Unité principale = 17
??? et ;-)))
Euh oui ça m'a l'air logique, je vais tester à tête reposée :) Il me faut, comme conditions de départ : a = b = 0 J'aimerais 6 ou 7 valeurs par axe. Je prends un de mes exemples : Les valeurs de l'axe 1 s'échelonnent de 0'23" à 43'25" (donc de 0,000266204 à 0,030381944 en format standard), tandis que celles de l'axe 2 varient de 0 à... 4028. Ça fait de très grands écarts.
J'ai superposé l'histogramme et la courbe. J'ai nommé mon graphique «MonGraphique».
Essaie ça en prenant soin de mettre le forrmat nombre de l'axe secondaire à 0 décimale.
Sub AxeSecondaire() With ActiveSheet.ChartObjects("MonGraphique").Chart.axes(xlValue) a = .MinimumScale b = .MaximumScale d = .MajorUnit End With With ActiveSheet.ChartObjects("MonGraphique").Chart.axes(xlValue, xlSecondary) .MinimumScale = 0 .MaximumScale = 4028 .MajorUnit = 4028 / (b / d) .MinorUnit = 4028 / (b / d) End With End Sub
Serge
"Raph" a écrit dans le message de news: 1g4h3km.a3g1o718555axN%
garnote écrit:
Salut Raph,
Salut Serge
Ai-je bien compris ? Si ton histogramme contient un axe secondaire et si pour l'échelle de l'axe principal : Minimum = a Maximum = b Unité principale = c Il faut alors que l'échelle de l'axe secondaire soit de la forme : Minimum = k*a + t Maximum = k*b + t Unité principale = k*c où k et t sont des nombres quelconques. Exemple : Si a = 0, b = 90 et c = 10 Alors pour k = 1,7 et t = 4,5. Échelle secondaire : Minimum = 4,5 Maximum = 157,5 Unité principale = 17
??? et ;-)))
Euh oui ça m'a l'air logique, je vais tester à tête reposée :) Il me faut, comme conditions de départ : a = b = 0 J'aimerais 6 ou 7 valeurs par axe. Je prends un de mes exemples : Les valeurs de l'axe 1 s'échelonnent de 0'23" à 43'25" (donc de 0,000266204 à 0,030381944 en format standard), tandis que celles de l'axe 2 varient de 0 à... 4028. Ça fait de très grands écarts.
J'ai superposé l'histogramme et la courbe.
J'ai nommé mon graphique «MonGraphique».
Essaie ça en prenant soin de mettre le forrmat nombre
de l'axe secondaire à 0 décimale.
Sub AxeSecondaire()
With ActiveSheet.ChartObjects("MonGraphique").Chart.axes(xlValue)
a = .MinimumScale
b = .MaximumScale
d = .MajorUnit
End With
With ActiveSheet.ChartObjects("MonGraphique").Chart.axes(xlValue,
xlSecondary)
.MinimumScale = 0
.MaximumScale = 4028
.MajorUnit = 4028 / (b / d)
.MinorUnit = 4028 / (b / d)
End With
End Sub
Serge
"Raph" <raph@nospam.org> a écrit dans le message de news:
1g4h3km.a3g1o718555axN%raph@nospam.org...
garnote <rien@absent.net> écrit:
Salut Raph,
Salut Serge
Ai-je bien compris ? Si ton histogramme contient un
axe secondaire et si pour l'échelle de l'axe principal :
Minimum = a
Maximum = b
Unité principale = c
Il faut alors que l'échelle de l'axe secondaire soit de
la forme :
Minimum = k*a + t
Maximum = k*b + t
Unité principale = k*c
où k et t sont des nombres quelconques.
Exemple :
Si a = 0, b = 90 et c = 10
Alors pour k = 1,7 et t = 4,5. Échelle secondaire :
Minimum = 4,5
Maximum = 157,5
Unité principale = 17
??? et ;-)))
Euh oui ça m'a l'air logique, je vais tester à tête reposée :)
Il me faut, comme conditions de départ : a = b = 0
J'aimerais 6 ou 7 valeurs par axe.
Je prends un de mes exemples :
Les valeurs de l'axe 1 s'échelonnent de 0'23" à 43'25" (donc de
0,000266204 à 0,030381944 en format standard), tandis que celles de
l'axe 2 varient de 0 à... 4028.
Ça fait de très grands écarts.
J'ai superposé l'histogramme et la courbe. J'ai nommé mon graphique «MonGraphique».
Essaie ça en prenant soin de mettre le forrmat nombre de l'axe secondaire à 0 décimale.
Sub AxeSecondaire() With ActiveSheet.ChartObjects("MonGraphique").Chart.axes(xlValue) a = .MinimumScale b = .MaximumScale d = .MajorUnit End With With ActiveSheet.ChartObjects("MonGraphique").Chart.axes(xlValue, xlSecondary) .MinimumScale = 0 .MaximumScale = 4028 .MajorUnit = 4028 / (b / d) .MinorUnit = 4028 / (b / d) End With End Sub
Serge
"Raph" a écrit dans le message de news: 1g4h3km.a3g1o718555axN%
garnote écrit:
Salut Raph,
Salut Serge
Ai-je bien compris ? Si ton histogramme contient un axe secondaire et si pour l'échelle de l'axe principal : Minimum = a Maximum = b Unité principale = c Il faut alors que l'échelle de l'axe secondaire soit de la forme : Minimum = k*a + t Maximum = k*b + t Unité principale = k*c où k et t sont des nombres quelconques. Exemple : Si a = 0, b = 90 et c = 10 Alors pour k = 1,7 et t = 4,5. Échelle secondaire : Minimum = 4,5 Maximum = 157,5 Unité principale = 17
??? et ;-)))
Euh oui ça m'a l'air logique, je vais tester à tête reposée :) Il me faut, comme conditions de départ : a = b = 0 J'aimerais 6 ou 7 valeurs par axe. Je prends un de mes exemples : Les valeurs de l'axe 1 s'échelonnent de 0'23" à 43'25" (donc de 0,000266204 à 0,030381944 en format standard), tandis que celles de l'axe 2 varient de 0 à... 4028. Ça fait de très grands écarts.
Je vais essayer d'appliquer tes conseils, merci.
-- Raph
garnote
Plus général. J'ai nommé «histo» la plage contenant du temps et «courbe» la plage contenant des nombres.
4 00:12:23 6 00:30:24 7 00:35:45 8 00:55:25
4 12 6 456 7 2567 8 5000
Cette macro, il me semble, permet d'ajuster les axes :
Sub Axes() minc = WorksheetFunction.Min(Range("courbe")) maxc = WorksheetFunction.Max(Range("courbe")) minh = WorksheetFunction.Min(Range("histo")) maxh = WorksheetFunction.Max(Range("histo")) un = (maxh - minh) / 4 deux = (maxc - minc) / 4 With ActiveSheet.ChartObjects("MonGraphique").Chart.Axes(xlValue) .MinimumScale = minh .MaximumScale = maxh .MajorUnit = un .MinorUnit = un End With With ActiveSheet.ChartObjects("MonGraphique").Chart.Axes(xlValue, xlSecondary) .MinimumScale = minc .MaximumScale = maxc .MajorUnit = deux .MinorUnit = deux End With End Sub
Plus général. J'ai nommé «histo» la plage contenant du temps
et «courbe» la plage contenant des nombres.
4 00:12:23
6 00:30:24
7 00:35:45
8 00:55:25
4 12
6 456
7 2567
8 5000
Cette macro, il me semble, permet d'ajuster les axes :
Sub Axes()
minc = WorksheetFunction.Min(Range("courbe"))
maxc = WorksheetFunction.Max(Range("courbe"))
minh = WorksheetFunction.Min(Range("histo"))
maxh = WorksheetFunction.Max(Range("histo"))
un = (maxh - minh) / 4
deux = (maxc - minc) / 4
With ActiveSheet.ChartObjects("MonGraphique").Chart.Axes(xlValue)
.MinimumScale = minh
.MaximumScale = maxh
.MajorUnit = un
.MinorUnit = un
End With
With ActiveSheet.ChartObjects("MonGraphique").Chart.Axes(xlValue,
xlSecondary)
.MinimumScale = minc
.MaximumScale = maxc
.MajorUnit = deux
.MinorUnit = deux
End With
End Sub
Plus général. J'ai nommé «histo» la plage contenant du temps et «courbe» la plage contenant des nombres.
4 00:12:23 6 00:30:24 7 00:35:45 8 00:55:25
4 12 6 456 7 2567 8 5000
Cette macro, il me semble, permet d'ajuster les axes :
Sub Axes() minc = WorksheetFunction.Min(Range("courbe")) maxc = WorksheetFunction.Max(Range("courbe")) minh = WorksheetFunction.Min(Range("histo")) maxh = WorksheetFunction.Max(Range("histo")) un = (maxh - minh) / 4 deux = (maxc - minc) / 4 With ActiveSheet.ChartObjects("MonGraphique").Chart.Axes(xlValue) .MinimumScale = minh .MaximumScale = maxh .MajorUnit = un .MinorUnit = un End With With ActiveSheet.ChartObjects("MonGraphique").Chart.Axes(xlValue, xlSecondary) .MinimumScale = minc .MaximumScale = maxc .MajorUnit = deux .MinorUnit = deux End With End Sub
J'ai superposé l'histogramme et la courbe. J'ai nommé mon graphique «MonGraphique».
Essaie ça en prenant soin de mettre le forrmat nombre de l'axe secondaire à 0 décimale.
Sub AxeSecondaire() With ActiveSheet.ChartObjects("MonGraphique").Chart.axes(xlValue) a = .MinimumScale b = .MaximumScale d = .MajorUnit End With With ActiveSheet.ChartObjects("MonGraphique").Chart.axes(xlValue, xlSecondary) .MinimumScale = 0 .MaximumScale = 4028 .MajorUnit = 4028 / (b / d) .MinorUnit = 4028 / (b / d) End With End Sub
Aïe, merci de t'être attaqué au problème par la face macro, mais je suis bien embêté, je n'ai jamais trop réussi à en faire fonctionner correctement, et pire, je ne sais déjà même pas nommer mon graphique (c'est le titre ?)... J'ai fini par trouver grâce à ton message précédent.
J'ai superposé l'histogramme et la courbe.
J'ai nommé mon graphique «MonGraphique».
Essaie ça en prenant soin de mettre le forrmat nombre
de l'axe secondaire à 0 décimale.
Sub AxeSecondaire()
With ActiveSheet.ChartObjects("MonGraphique").Chart.axes(xlValue)
a = .MinimumScale
b = .MaximumScale
d = .MajorUnit
End With
With ActiveSheet.ChartObjects("MonGraphique").Chart.axes(xlValue,
xlSecondary)
.MinimumScale = 0
.MaximumScale = 4028
.MajorUnit = 4028 / (b / d)
.MinorUnit = 4028 / (b / d)
End With
End Sub
Aïe, merci de t'être attaqué au problème par la face macro, mais je suis
bien embêté, je n'ai jamais trop réussi à en faire fonctionner
correctement, et pire, je ne sais déjà même pas nommer mon graphique
(c'est le titre ?)...
J'ai fini par trouver grâce à ton message précédent.
J'ai superposé l'histogramme et la courbe. J'ai nommé mon graphique «MonGraphique».
Essaie ça en prenant soin de mettre le forrmat nombre de l'axe secondaire à 0 décimale.
Sub AxeSecondaire() With ActiveSheet.ChartObjects("MonGraphique").Chart.axes(xlValue) a = .MinimumScale b = .MaximumScale d = .MajorUnit End With With ActiveSheet.ChartObjects("MonGraphique").Chart.axes(xlValue, xlSecondary) .MinimumScale = 0 .MaximumScale = 4028 .MajorUnit = 4028 / (b / d) .MinorUnit = 4028 / (b / d) End With End Sub
Aïe, merci de t'être attaqué au problème par la face macro, mais je suis bien embêté, je n'ai jamais trop réussi à en faire fonctionner correctement, et pire, je ne sais déjà même pas nommer mon graphique (c'est le titre ?)... J'ai fini par trouver grâce à ton message précédent.
-- Raph
garnote
Salut Raph,
Pour nommer un graphique : Maintiens la touche Ctrl enfonçée et clique sur ton graphique. Tu vas alors alors dans la zone de noms (à gauche de la barre de formules) et tu écris le nom que tu veux donner à ton graphique. Pour faire fonctionner ma macro : Copie ma macro Tape Alt+F11 à partir de ta feuille Colle ce que tu as copié
Serge
Aïe, merci de t'être attaqué au problème par la face macro, mais je suis bien embêté, je n'ai jamais trop réussi à en faire fonctionner correctement, et pire, je ne sais déjà même pas nommer mon graphique (c'est le titre ?)... J'ai fini par trouver grâce à ton message précédent. Raph
Salut Raph,
Pour nommer un graphique :
Maintiens la touche Ctrl enfonçée et clique sur ton
graphique. Tu vas alors alors dans la zone de noms
(à gauche de la barre de formules) et tu écris le nom
que tu veux donner à ton graphique.
Pour faire fonctionner ma macro :
Copie ma macro
Tape Alt+F11 à partir de ta feuille
Colle ce que tu as copié
Serge
Aïe, merci de t'être attaqué au problème par la face macro, mais je suis
bien embêté, je n'ai jamais trop réussi à en faire fonctionner
correctement, et pire, je ne sais déjà même pas nommer mon graphique
(c'est le titre ?)...
J'ai fini par trouver grâce à ton message précédent.
Raph
Pour nommer un graphique : Maintiens la touche Ctrl enfonçée et clique sur ton graphique. Tu vas alors alors dans la zone de noms (à gauche de la barre de formules) et tu écris le nom que tu veux donner à ton graphique. Pour faire fonctionner ma macro : Copie ma macro Tape Alt+F11 à partir de ta feuille Colle ce que tu as copié
Serge
Aïe, merci de t'être attaqué au problème par la face macro, mais je suis bien embêté, je n'ai jamais trop réussi à en faire fonctionner correctement, et pire, je ne sais déjà même pas nommer mon graphique (c'est le titre ?)... J'ai fini par trouver grâce à ton message précédent. Raph
raph
garnote écrit:
Salut Raph,
Re salut Serge !
Pour nommer un graphique : Maintiens la touche Ctrl enfonçée et clique sur ton graphique. Tu vas alors alors dans la zone de noms (à gauche de la barre de formules) et tu écris le nom que tu veux donner à ton graphique. Pour faire fonctionner ma macro : Copie ma macro Tape Alt+F11 à partir de ta feuille Colle ce que tu as copié
Je suis sur Mac, avec Excel 98. Pas trouvé le moyen d'écrire dans la zone de nom mais je vais bien finir par trouver :)
-- Raph
garnote <rien@absent.net> écrit:
Salut Raph,
Re salut Serge !
Pour nommer un graphique :
Maintiens la touche Ctrl enfonçée et clique sur ton
graphique. Tu vas alors alors dans la zone de noms
(à gauche de la barre de formules) et tu écris le nom
que tu veux donner à ton graphique.
Pour faire fonctionner ma macro :
Copie ma macro
Tape Alt+F11 à partir de ta feuille
Colle ce que tu as copié
Je suis sur Mac, avec Excel 98. Pas trouvé le moyen d'écrire dans la
zone de nom mais je vais bien finir par trouver :)
Pour nommer un graphique : Maintiens la touche Ctrl enfonçée et clique sur ton graphique. Tu vas alors alors dans la zone de noms (à gauche de la barre de formules) et tu écris le nom que tu veux donner à ton graphique. Pour faire fonctionner ma macro : Copie ma macro Tape Alt+F11 à partir de ta feuille Colle ce que tu as copié
Je suis sur Mac, avec Excel 98. Pas trouvé le moyen d'écrire dans la zone de nom mais je vais bien finir par trouver :)