Bonjour
j'ai un grand nombre de graphique pour lesquel je dois modifier la
mise en forme tr=E8s souvent. J'ai donc r=E9alis=E9 des proc=E8dure VBA pour
r=E9aliser ce traitement.
Cependant, je coince sur le positionnement du titre du graphique en
VBA. Comment faire pour qu'il soit toujours centr=E9 par rapport =E0 la
largeur de la zone graphique.
Je sais trouver la largeur de la fen=EAtre (width) mais cela ne
s'applique pas au titre.
Y a t'il une solution en VBA ?
Par avance merci
Pascal
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" a écrit dans le message de news:
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
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" <zz2001top@hotmail.com> a écrit dans le message de news:
1187785251.271895.309160@q3g2000prf.googlegroups.com...
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
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" a écrit dans le message de news:
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
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
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
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
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" a écrit dans le 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
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" <gardiendephare@etbalises.fr.invalid> a écrit dans le message
de news: OjOFcVa5HHA.464@TK2MSFTNGP02.phx.gbl...
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
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" a écrit dans le 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
Daniel
Bonsoir. Merci, mais c'est assez particulier comme genre de demande. Je ne pense pas que ça puisse servir à grand monde. Daniel "Francois L" a écrit dans le 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
Bonsoir.
Merci, mais c'est assez particulier comme genre de demande. Je ne pense pas
que ça puisse servir à grand monde.
Daniel
"Francois L" <gardiendephare@etbalises.fr.invalid> a écrit dans le message
de news: OjOFcVa5HHA.464@TK2MSFTNGP02.phx.gbl...
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
Bonsoir. Merci, mais c'est assez particulier comme genre de demande. Je ne pense pas que ça puisse servir à grand monde. Daniel "Francois L" a écrit dans le 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
Francois L
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
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.
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
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
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)
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
:-) :-) 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
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" a écrit dans le 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
:-) :-)
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" <gardiendephare@etbalises.fr.invalid> a écrit dans le
message de news: OjOFcVa5HHA.464@TK2MSFTNGP02.phx.gbl...
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
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" a écrit dans le 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
Bonsoir. Merci, mais c'est assez particulier comme genre de demande. Je ne pense pas que ça puisse servir à grand monde. Daniel "Francois L" a écrit dans le 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
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" <gardiendephare@etbalises.fr.invalid> a écrit dans le message
de news: OjOFcVa5HHA.464@TK2MSFTNGP02.phx.gbl...
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
Bonsoir. Merci, mais c'est assez particulier comme genre de demande. Je ne pense pas que ça puisse servir à grand monde. Daniel "Francois L" a écrit dans le 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
Francois L
:-) :-) 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
:-) :-)
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 :-)
Bonsoir. Merci, mais c'est assez particulier comme genre de demande. Je ne pense pas que ça puisse servir à grand monde. Daniel "Francois L" a écrit dans le 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
Alors je l'ai mise à disposition.
Daniel
"Misange" <misange@devinez-ou.net> a écrit dans le message de news:
uO$z8xa5HHA.3916@TK2MSFTNGP02.phx.gbl...
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" <gardiendephare@etbalises.fr.invalid> a écrit dans le
message de news: OjOFcVa5HHA.464@TK2MSFTNGP02.phx.gbl...
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
Bonsoir. Merci, mais c'est assez particulier comme genre de demande. Je ne pense pas que ça puisse servir à grand monde. Daniel "Francois L" a écrit dans le 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