[VBA Excel] Mise en forme graphique

Fermé
cameleon33 Messages postés 635 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 26 février 2010 - 21 août 2008 à 10:48
 djjilou - 11 avril 2012 à 16:16
Bonjour,

J'ai des graphiques qui se créent à l'aide d'une macro Excel. Cependant, j'aimerais pouvoir mettre certains éléments de mise en forme particuliers.

Notamment : J'ai des lignes de points et je voudrais rajouter une ombre
J'ai des colonnes où je voudrais rajouter un biseau de type cercle. J'ai vu dans l'aide qu'il fallait mettre pour cela ThreeDFormat = msoBevelCircle
Cependant je ne connais pas la synthaxe.

Et les capture d'écran de ce que j'ai obtenu pour le moment :

http://www.upix.fr/images/6mnaftsh4iwu2dna55o.jpg

Et ce que je veux obtenir :

http://www.upix.fr/images/x99rls55ds09imavnavb.jpg

Petite précision : Je travaille avec Excel 2007

Info : Voici le code actuel de création des graphiques :


Range("A1").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLineMarkers
ActiveChart.ChartArea.Select
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "=Données!$F$3"
ActiveChart.SeriesCollection(1).Values = "=Données!$F$" & j & ":$F$" & i - 1
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "=Données!$L$3"
ActiveChart.SeriesCollection(2).Values = "=Données!$L$" & j & ":$L$" & i - 1
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(3).Values = "='Feuille calculs courbe'!$A$" & j - 2 & ":$A$" & i - 3
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(4).Values = "='Feuille calculs courbe'!$B$" & j - 2 & ":$B$" & i - 3
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(5).Values = "='Feuille calculs courbe'!$C$" & j - 2 & ":$C$" & i - 3
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(6).Name = "=Données!$N$3"
ActiveChart.SeriesCollection(6).Values = "=Données!$N$" & j & ":$N$" & i - 1
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(7).Name = "=Données!$P$3"
ActiveChart.SeriesCollection(7).Values = "=Données!$P$" & j & ":$P$" & i - 1
ActiveChart.SeriesCollection(3).ChartType = xlAreaStacked
ActiveChart.SeriesCollection(4).ChartType = xlAreaStacked
ActiveChart.SeriesCollection(5).ChartType = xlAreaStacked
ActiveChart.SeriesCollection(6).ChartType = xlColumnClustered
ActiveChart.SeriesCollection(7).ChartType = xlColumnClustered
ActiveChart.Legend.LegendEntries(3).Select
Selection.Delete
ActiveChart.Legend.LegendEntries(2).Select
Selection.Delete
ActiveChart.Legend.LegendEntries(1).Select
Selection.Delete
ActiveChart.SeriesCollection(7).AxisGroup = 2
ActiveChart.SeriesCollection(6).AxisGroup = 2
ActiveChart.SeriesCollection(6).ApplyDataLabels
ActiveChart.SeriesCollection(7).ApplyDataLabels
ActiveChart.Axes(xlValue, xlSecondary).MaximumScale = 15
ActiveChart.Axes(xlValue, xlSecondary).MinimumScale = 0
ActiveChart.SeriesCollection(3).Interior.ColorIndex = xlNone
ActiveChart.SeriesCollection(4).Interior.Color = RGB(217, 150, 148)
ActiveChart.SeriesCollection(7).Interior.Color = RGB(217, 150, 148)
ActiveChart.SeriesCollection(6).Interior.Color = RGB(195, 214, 155)
ActiveChart.SeriesCollection(5).Interior.Color = RGB(195, 214, 155)


Merci pour votre aide,
A voir également:

5 réponses

Bonjour,

Désolé de ressortir ce sujet qui a presque un an, mais je vois qu'aucune solution n'y a été apportée.

C'est parce que tu utilises Excel 2007 que ton enregistreur de macros n'affiche rien... On est obligés d'utiliser Excel 2003 !
Et il faut que tu actives l'actualisation à l'écran si jamais tu copies du code que tu as enregistré sous Excel 2003 dans Excel 2007, pour que tu sois sûr que ça marche :

Application.ScreenUpdating = True

En espérant t'avoir aidé,

@+
2
cameleon33 Messages postés 635 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 26 février 2010 50
21 août 2008 à 14:08
Personne d'autre pour m'aider?
1
lalilu Messages postés 35 Date d'inscription mardi 15 avril 2008 Statut Membre Dernière intervention 17 décembre 2009 1
21 août 2008 à 10:58
salut,
tu as essayé la bonne veille méthode d'enregistrer des macro avec les styles que tu veux et ensuite aller piquer le code pour l'adapter à ton projet ?
moi je fais ça parceque je suis pas douée, mais des fois ça marche ...
bon courage !
0
cameleon33 Messages postés 635 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 26 février 2010 50
21 août 2008 à 11:00
Oui j'ai essayé, mais il enregistre pas la modification qui se fait dans une boite de propriétés... J'avais le même problème pour changer la couleur, il l'enregistrait pas en macro, mais pourtant y a bien une commande VBA pour changer la couleur. Donc je suppose que là c'est pareil ^^

Merci pour ton aide ^^
0
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 6
21 août 2008 à 11:44
aurais tu regarder par la ?!

http://office.microsoft.com/fr-fr/outlook/HA102118481036.aspx

Tu peux enregistrer une macro sans taper le code en faisant les manip pour obtenir ces "chanfreins", et aprés allé récupérer le code dans cette macro non?!
0
cameleon33 Messages postés 635 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 26 février 2010 50
21 août 2008 à 11:47
Oui j'ai déjà essayé, il n'enregistre pas la mise en forme...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour a tous.

J'ai exactement le meme probleme.
N'y a t'il aucune solution qui serait applicable sur office 2007?
Car devoir installer la version 2003 juste pour cela...

Merci pour votre aide.
0