Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer le nom d'un graphique

2 réponses
Avatar
Patrick BASTARD
Bonjour à tous.

J'ai sur une feuille "Impression" plusieurs graphiques dont la source est
dans la feuille "Base", du même classeur.

Je cherche à régler le minimum de l'échelle de chacun de ces graphiques en
fonction des données de la base.
Le minimum du premier graphique se situe en [O6], feuille "Base".
********************************
Sub EchelleMini()
Dim Mini As Integer
Mini = [O6].Value
With
Worksheets("Impression").ChartObjects("Graphique1").Chart­.Axes(xlValue)
.MinimumScale = 10 * (Int(Mini / 10) + (Right(Int(Mini), 1) = "0"))
End With
End Sub
********************************
me renvoie 'Erreur d'exécution '1004': impossible de lire la propriété
ChartObject de la classe Worksheet.

Je pense que le nom "Graphique1" en est la cause.
Comment puis-je récupérer le nom de chacun de ces graphiques?
D'avance, merci.
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

2 réponses

Avatar
FFO
Salut Patrick

Si tu veux connaitre le nom de chaque Graphique de ta feuille "Impression"
utilises
ce bout de code :

For i = 1 To Sheets("Impression").ChartObjects.Count
MsgBox (Sheets("Impression").ChartObjects(i).Name)
Next

Tu auras la réponse dans une boîte de dialogue

En ce qui concerne ton code pour le 1° graphique de ta feuille "Impression"
je le modifierai ainsi :

Sub EchelleMini()
Dim Mini As Integer
Mini = [O6].Value
With Worksheets("Impression").ChartObjects("Chart 1").Chart.Axes(xlValue)
.MinimumScale = 10 * (Int(Mini / 10) + (Right(Int(Mini), 1) = "0"))
End With
End Sub

Celà devrait mieux aller !!!
Dis moi !!!



Bonjour à tous.

J'ai sur une feuille "Impression" plusieurs graphiques dont la source est
dans la feuille "Base", du même classeur.

Je cherche à régler le minimum de l'échelle de chacun de ces graphiques en
fonction des données de la base.
Le minimum du premier graphique se situe en [O6], feuille "Base".
********************************
Sub EchelleMini()
Dim Mini As Integer
Mini = [O6].Value
With
Worksheets("Impression").ChartObjects("Graphique1").Chart­.Axes(xlValue)
.MinimumScale = 10 * (Int(Mini / 10) + (Right(Int(Mini), 1) = "0"))
End With
End Sub
********************************
me renvoie 'Erreur d'exécution '1004': impossible de lire la propriété
ChartObject de la classe Worksheet.

Je pense que le nom "Graphique1" en est la cause.
Comment puis-je récupérer le nom de chacun de ces graphiques?
D'avance, merci.
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.





Avatar
Patrick BASTARD
Bonjour, *FFO*

J'ai réussi entre temps à récupérer l'item des graphiques de cette manière :
**********************
Sub SelectGraph()
Worksheets("Impression").ChartObjects(1).Select
End Sub
**********************
en regardant quel graphique était sélectionné, et en continuant avec 2,
3....
Il est clair que ta proposition est plus propre.

Et pour les maj des échelles :
**********************
Sub MaJEchelle()
Worksheets("Impression").ChartObjects(1).Chart.Axes(xlValue).MinimumScale
= [Base!o16].Value
Worksheets("Impression").ChartObjects(2).Chart.Axes(xlValue).MinimumScale
= [Base!o19].Value
Worksheets("Impression").ChartObjects(3).Chart.Axes(xlValue).MinimumScale
= [Base!o22].Value
Worksheets("Impression").ChartObjects(4).Chart.Axes(xlValue).MinimumScale
= [Base!o18].Value
Worksheets("Impression").ChartObjects(5).Chart.Axes(xlValue).MinimumScale
= [Base!o20].Value
Worksheets("Impression").ChartObjects(6).Chart.Axes(xlValue).MinimumScale
= [Base!o25].Value
End Sub
**********************
Merci infiniment de t'être intéressé à mon problème.
Avec ta permission, j'archive...

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.


Salut Patrick

Si tu veux connaitre le nom de chaque Graphique de ta feuille
"Impression" utilises
ce bout de code :

For i = 1 To Sheets("Impression").ChartObjects.Count
MsgBox (Sheets("Impression").ChartObjects(i).Name)
Next

Tu auras la réponse dans une boîte de dialogue

En ce qui concerne ton code pour le 1° graphique de ta feuille
"Impression" je le modifierai ainsi :

Sub EchelleMini()
Dim Mini As Integer
Mini = [O6].Value
With Worksheets("Impression").ChartObjects("Chart
1").Chart.Axes(xlValue) .MinimumScale = 10 * (Int(Mini / 10) +
(Right(Int(Mini), 1) = "0"))
End With
End Sub

Celà devrait mieux aller !!!
Dis moi !!!



Bonjour à tous.

J'ai sur une feuille "Impression" plusieurs graphiques dont la
source est dans la feuille "Base", du même classeur.

Je cherche à régler le minimum de l'échelle de chacun de ces
graphiques en fonction des données de la base.
Le minimum du premier graphique se situe en [O6], feuille "Base".
********************************
Sub EchelleMini()
Dim Mini As Integer
Mini = [O6].Value
With
Worksheets("Impression").ChartObjects("Graphique1").Chart­.Axes(xlValue)
.MinimumScale = 10 * (Int(Mini / 10) + (Right(Int(Mini), 1)
= "0")) End With
End Sub
********************************
me renvoie 'Erreur d'exécution '1004': impossible de lire la
propriété ChartObject de la classe Worksheet.

Je pense que le nom "Graphique1" en est la cause.
Comment puis-je récupérer le nom de chacun de ces graphiques?
D'avance, merci.
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.