Liste de couleur a appliqué dans des graph
Bonsoir,
Je viens vers vous car j'ai la tête qui chauffe
Alors voilà j'ai fais une adaptation de mon fichier pour le partagé avec vous ,
j'ai 3 feuille ,
1= Base de donné
2=Reprend la base de donné en tableau croisé dynamique
3=deux graph et un bouton pour lancé la macro
je cherche à faire appliqué à mes tableau une couleur en fonction de leur étiquette (j'ai utilisé pour base celle du TCD)
j'ai trouvé sur le forum un code que j'ai essayé d'appliqué sans trop de succès :
Sub coloriage()
Sheets("Graph").ChartObjects("CAM").Activate
For i = 1 To ActiveChart.SeriesCollection(1).Points.Count
ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = Sheets("Tcd").Cells(i + 3, 1).Interior.ColorIndex
Next i
Call coloriage1
End Sub
Sub coloriage1()
Sheets("Graph").ChartObjects("AIR").Activate
For j = 1 To ActiveChart.SeriesCollection(1).Points.Count
ActiveChart.SeriesCollection(1).Points(j).Interior.ColorIndex = Sheets("Tcd").Cells(2, j + 6).Interior.ColorIndex
Next j
End Subalors avec ce code j'ai rencontré deux soucis ,
1er : il s'applique que sur le 1er graphique celui en diagramme circulaire. (je sais pas pourquoi il veut pas faire le travail sur le 2eme graphique)
2eme : on dirait que la "Interior.ColorIndex" ne reconnais pas toute les couleur ,de se fait si 'y a une autre tournure pour le code je suis preneur ...
J’espère que j'ai été assez claire dans le cas contraire j'apporterais plus d'information si y'a lui
Au plaisir de vous lire
bonjour
crée ton TCD et tes gaphiques au clavier et à la souris. Mets les couleurs de la même manière.
ensuite ne touche plus rien
actualise, ça suffit
pas de VBA.
Oui je veut bien sauf que le tableau à la fin ne me sera pas destiné , et la personne ne connais rien ou peut a excel , il a juste besoin de rentré des donnés dans le tableaux et le fichier va s’actualise tous seul et si y'as des nouvelle catégorie exemple (dans ce cas là) on ajouté la nouvelle collection manga, j'aimerai déjà que sur les deux graphique sa soit paramétré , d'ou mon envie de passé par vba .
qui sa permet aussi d'en aprendre un peu plus
re
1
il faut apprendre les Tableaux et les TCD bien avant VBA
2
Excel est un mauvais logiciel pour faire des applications destinées à des novices en informatique
on veut faire comme les logiciels pro, et on oublie que ces logiciels sont soit des SGBD, soit du C.
2bis
vouloir faire de la gestion de données DOIT faire appel à des fonctionnalités de base d'Excel comme dit au 1
3
VBA est à réserver par exemple à simuler un clic droit et "actualiser" sur un TCD. et encore, je pense qu'il faut éviter VBA. Trop de problèmes de maintenance.
tout ça n'est que mon avis perso
Bonjour,
Une proposition à étudier.
Cdlt.
Option Explicit
Option Private Module
Public Sub Update_Charts()
Dim wsChart As Worksheet, wsPT As Worksheet
Dim cht As Chart
Dim rng As Range
Dim sr As Series
Dim i As Long, j As Long
Set wsChart = Worksheets("Graph")
Set wsPT = Worksheets("Tcd")
'----------------------------------------------------------------------
Set cht = wsChart.ChartObjects("CAM").Chart
Set sr = cht.SeriesCollection(1)
Set rng = wsPT.PivotTables("TCD_1").PivotFields("Livre").DataRange
For i = 1 To sr.Points.Count
sr.Points(i).Interior.Color = rng(i).Interior.Color
Next i
'----------------------------------------------------------------------
Set cht = wsChart.ChartObjects("AIR").Chart
Set rng = wsPT.PivotTables("TCD_2").PivotFields("Livre").DataRange
For Each sr In cht.SeriesCollection
j = j + 1
sr.Format.Fill.ForeColor.RGB = rng(j).Interior.Color
Next sr
End SubMerci Beaucoup ,
Cela s'applique parfaitement à ce que je voulais ,
j'ai pu constaté la différence entre Interior.Color +> Interior.ColorIndex
qui permet d'appliqué la couleur voulu .
Après pour le graphe1 j'ai compris le code / pour le graphe 2,j'ai un peu de mal a a tout saisir , je m'y plongerais plus tard a tête reposé ,
Merci encore Sujet peut être clos.