Rechercher : dans
Par :

[VBA Excel] Mise en forme graphique

Dernière réponse le 29 jun 2009 à 23:02:24 cameleon33, le 21 aoû 2008 à 10:48:21 
 Signaler ce message aux modérateurs

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, Cam'

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « [VBA Excel] Mise en forme graphique » dans :
Excel - Mises en forme conditionnelles illimitées VoirMises en Forme Conditionnelles Illimitées Sommaire: Introduction Principe Code Fichier joint Introduction La Mise en Forme Conditionelle (ou MFC) permet d'appliquer, à une cellule ou à plusieurs cellules sélectionnées, différents...

1

lalilu, le 21 aoû 2008 à 10:58:53

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 !

Répondre à lalilu

2

cameleon33, le 21 aoû 2008 à 11:00:31

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 ^^ Cam'

Répondre à cameleon33

3

tony020422, le 21 aoû 2008 à 11:44:30

Aurais tu regarder par la ?!

http://office.microsoft.com/fr-fr/outlook/HA102118481036.asp­x

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?!

Répondre à tony020422

4

cameleon33, le 21 aoû 2008 à 11:47:22

Oui j'ai déjà essayé, il n'enregistre pas la mise en forme... Cam'

Répondre à cameleon33

5

cameleon33, le 21 aoû 2008 à 14:08:11

Personne d'autre pour m'aider? Cam'

Répondre à cameleon33

6

 Schlobax, le 29 jun 2009 à 23:02:24

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é,

@+

Répondre à Schlobax
Collection CommentÇaMarche.net