[VBA Excel] Mise en forme graphique

cameleon33 Messages postés 635 Date d'inscription   Statut Membre Dernière intervention   -  
 djjilou -
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

Schlobax
 
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   Statut Membre Dernière intervention   50
 
Personne d'autre pour m'aider?
1
lalilu Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   50
 
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   Statut Membre Dernière intervention   6
 
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   Statut Membre Dernière intervention   50
 
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
djjilou
 
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