position du titre d'un graphique

Le
Pascal
Bonjour
j'ai un grand nombre de graphique pour lesquel je dois modifier la
mise en forme très souvent. J'ai donc réalisé des procèdure VBA pour
réaliser ce traitement.
Cependant, je coince sur le positionnement du titre du graphique en
VBA. Comment faire pour qu'il soit toujours centré par rapport à la
largeur de la zone graphique.
Je sais trouver la largeur de la fenêtre (width) mais cela ne
s'applique pas au titre.
Y a t'il une solution en VBA ?
Par avance merci
Pascal
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4799781
Bonsoir.
Essaie la macro suivannte (si tes graphiques sont des objets une feuille de
données :

Sub CentrerLesTitres()
Dim co As ChartObject
For Each co In ActiveSheet.ChartObjects
With co.Chart
.ChartTitle.Left = .ChartArea.Width
.ChartTitle.Left = .ChartTitle.Left / 2
decal = .ChartArea.Width / 2 - (.PlotArea.Left + .PlotArea.Width /
2)
.ChartTitle.Left = .ChartTitle.Left - decal
End With
Next
End Sub

Cordialement.
Daniel
"Pascal"
Bonjour
j'ai un grand nombre de graphique pour lesquel je dois modifier la
mise en forme très souvent. J'ai donc réalisé des procèdure VBA pour
réaliser ce traitement.
Cependant, je coince sur le positionnement du titre du graphique en
VBA. Comment faire pour qu'il soit toujours centré par rapport à la
largeur de la zone graphique.
Je sais trouver la largeur de la fenêtre (width) mais cela ne
s'applique pas au titre.
Y a t'il une solution en VBA ?
Par avance merci
Pascal
Francois L
Le #4673271

Bonsoir Daniel,

Joli...

Tu devrais proposer à Misange de le mettre sur excelabo.

--
François L


Bonsoir.
Essaie la macro suivannte (si tes graphiques sont des objets une feuille de
données :

Sub CentrerLesTitres()
Dim co As ChartObject
For Each co In ActiveSheet.ChartObjects
With co.Chart
.ChartTitle.Left = .ChartArea.Width
.ChartTitle.Left = .ChartTitle.Left / 2
decal = .ChartArea.Width / 2 - (.PlotArea.Left + .PlotArea.Width /
2)
.ChartTitle.Left = .ChartTitle.Left - decal
End With
Next
End Sub



jps
Le #4673231
peut-être suffirait-il, pour attirer l'attention de notre volatile MVP, de
mettre ZZ (comme on met HS) comme premières lettres de l'objet du post
ah! pourquoi ZZ? rien à voir avec l'endormissement mais plutôt avec le
zinzinulement ('tain que c'est dur à taper ce mot : je m'y suis repris à
trois fois...essayez au lieu de rigoler!!)
jps (qui inaugure)

"Francois L" de news:

Bonsoir Daniel,

Joli...

Tu devrais proposer à Misange de le mettre sur excelabo.

--
François L


Bonsoir.
Essaie la macro suivannte (si tes graphiques sont des objets une feuille
de
données :

Sub CentrerLesTitres()
Dim co As ChartObject
For Each co In ActiveSheet.ChartObjects
With co.Chart
.ChartTitle.Left = .ChartArea.Width
.ChartTitle.Left = .ChartTitle.Left / 2
decal = .ChartArea.Width / 2 - (.PlotArea.Left + .PlotArea.Width
/
2)
.ChartTitle.Left = .ChartTitle.Left - decal
End With
Next
End Sub





Daniel
Le #4673181
Bonsoir.
Merci, mais c'est assez particulier comme genre de demande. Je ne pense pas
que ça puisse servir à grand monde.
Daniel
"Francois L" de news:

Bonsoir Daniel,

Joli...

Tu devrais proposer à Misange de le mettre sur excelabo.

--
François L


Bonsoir.
Essaie la macro suivannte (si tes graphiques sont des objets une feuille
de
données :

Sub CentrerLesTitres()
Dim co As ChartObject
For Each co In ActiveSheet.ChartObjects
With co.Chart
.ChartTitle.Left = .ChartArea.Width
.ChartTitle.Left = .ChartTitle.Left / 2
decal = .ChartArea.Width / 2 - (.PlotArea.Left + .PlotArea.Width
/
2)
.ChartTitle.Left = .ChartTitle.Left - decal
End With
Next
End Sub





Francois L
Le #4673161
Bonsoir.
Merci, mais c'est assez particulier comme genre de demande. Je ne pense pas
que ça puisse servir à grand monde.


Bonsoir,

C'est assez particulier OK, mais c'est une question que je me suis déjà
posée et puis ça ne mange pas de pain suffit de mettre le code, pas
besoin de classeur exemple.

--
François L

Francois L
Le #4673151
peut-être suffirait-il, pour attirer l'attention de notre volatile MVP,
de mettre ZZ (comme on met HS) comme premières lettres de l'objet du post
ah! pourquoi ZZ? rien à voir avec l'endormissement mais plutôt avec le
zinzinulement ('tain que c'est dur à taper ce mot : je m'y suis repris à
trois fois...essayez au lieu de rigoler!!)
jps (qui inaugure)



Bonsoir Président,

Regardes en dessous, j'ai essayé :-)

--
François L

Misange
Le #4673111
:-) :-)
Extra ! je dois même pouvoir faire une règle de message pour détecter
les zz dans les titres de messages

mais imagine que j'avais déjà mis de côté cette macro

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

peut-être suffirait-il, pour attirer l'attention de notre volatile MVP,
de mettre ZZ (comme on met HS) comme premières lettres de l'objet du post
ah! pourquoi ZZ? rien à voir avec l'endormissement mais plutôt avec le
zinzinulement ('tain que c'est dur à taper ce mot : je m'y suis repris à
trois fois...essayez au lieu de rigoler!!)
jps (qui inaugure)

"Francois L" message de news:

Bonsoir Daniel,

Joli...

Tu devrais proposer à Misange de le mettre sur excelabo.

--
François L


Bonsoir.
Essaie la macro suivannte (si tes graphiques sont des objets une
feuille de
données :

Sub CentrerLesTitres()
Dim co As ChartObject
For Each co In ActiveSheet.ChartObjects
With co.Chart
.ChartTitle.Left = .ChartArea.Width
.ChartTitle.Left = .ChartTitle.Left / 2
decal = .ChartArea.Width / 2 - (.PlotArea.Left +
.PlotArea.Width /
2)
.ChartTitle.Left = .ChartTitle.Left - decal
End With
Next
End Sub








Misange
Le #4673101
si si ça peut tout à fait servir à d'autres
:-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir.
Merci, mais c'est assez particulier comme genre de demande. Je ne pense pas
que ça puisse servir à grand monde.
Daniel
"Francois L" de news:

Bonsoir Daniel,

Joli...

Tu devrais proposer à Misange de le mettre sur excelabo.

--
François L


Bonsoir.
Essaie la macro suivannte (si tes graphiques sont des objets une feuille
de
données :

Sub CentrerLesTitres()
Dim co As ChartObject
For Each co In ActiveSheet.ChartObjects
With co.Chart
.ChartTitle.Left = .ChartArea.Width
.ChartTitle.Left = .ChartTitle.Left / 2
decal = .ChartArea.Width / 2 - (.PlotArea.Left + .PlotArea.Width
/
2)
.ChartTitle.Left = .ChartTitle.Left - decal
End With
Next
End Sub









Francois L
Le #4673091
:-) :-)
Extra ! je dois même pouvoir faire une règle de message pour détecter
les zz dans les titres de messages

mais imagine que j'avais déjà mis de côté cette macro



Bonsoir Misange,

J'imagine bien sur mais quelquefois mon imagination me joue des tours :-)

--
François L

Daniel
Le #4672971
Alors je l'ai mise à disposition.
Daniel
"Misange" uO$
si si ça peut tout à fait servir à d'autres
:-)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonsoir.
Merci, mais c'est assez particulier comme genre de demande. Je ne pense
pas que ça puisse servir à grand monde.
Daniel
"Francois L" message de news:

Bonsoir Daniel,

Joli...

Tu devrais proposer à Misange de le mettre sur excelabo.

--
François L


Bonsoir.
Essaie la macro suivannte (si tes graphiques sont des objets une
feuille de
données :

Sub CentrerLesTitres()
Dim co As ChartObject
For Each co In ActiveSheet.ChartObjects
With co.Chart
.ChartTitle.Left = .ChartArea.Width
.ChartTitle.Left = .ChartTitle.Left / 2
decal = .ChartArea.Width / 2 - (.PlotArea.Left +
.PlotArea.Width /
2)
.ChartTitle.Left = .ChartTitle.Left - decal
End With
Next
End Sub










Publicité
Poster une réponse
Anonyme