patou287
Messages postés3Date d'inscriptiondimanche 2 avril 2006StatutMembreDernière intervention 2 avril 2006
-
2 avril 2006 à 15:06
michelxld
Messages postés402Date d'inscriptionvendredi 6 août 2004StatutMembreDernière intervention12 octobre 2008
-
2 avril 2006 à 18:19
Bonjour,
J'aurai besoin de vôtre aide. Je cherche à identifier les séries d'un graphique croisé dynamique. Afin de le mettre en forme de façon plus personnel et permanente mes graphiques.
En effet à chaque fois que je choisi un nouveau champ de page, les séries changent et lorsque je reviens a un champ de page déjà mis en place, la mise en page n'est plus la même.
Je voudrais donc identifier les séries avec des noms, et non pas ordre d'arrivé comme le fait Excel.
michelxld
Messages postés402Date d'inscriptionvendredi 6 août 2004StatutMembreDernière intervention12 octobre 200832 2 avril 2006 à 15:52
bonjour
cet exemple permet de boucler sur les serie d'un graphique pour en recuperer les noms
Dim i As Integer
'boucler sur les series dans le 1er graphique de la Feuil1
For i = 1 To Feuil1.ChartObjects(1).Chart.SeriesCollection.Count
'lister le nom des series dans le 1er graphique de la Feuil1
MsgBox Feuil1.ChartObjects(1).Chart.SeriesCollection(i).Name
'
'pour changer la couleur des series
Feuil1.ChartObjects(1).Chart.SeriesCollection(i).Border.ColorIndex = i
'
Next i
Effectivement , les mises en forme personnalisées des graphiques croisés dynamiques ne sont pas conservées lors des réactualisations de données . pour automatiser la mise à jour du format tu pourrais par exemple utiliser l'evenement Chart_Calculate
patou287
Messages postés3Date d'inscriptiondimanche 2 avril 2006StatutMembreDernière intervention 2 avril 2006 2 avril 2006 à 17:00
Est-il possible maintenant d'intégrer maintenant des données supplémentaire dans les légendes ?
Style l'évolution par rapport à la semaine précedente ?
patou287
Messages postés3Date d'inscriptiondimanche 2 avril 2006StatutMembreDernière intervention 2 avril 2006 2 avril 2006 à 17:27
En gros je cherche à montrer l'évolution du graphique, d'une semaine à l'autre.
Je me demandais si il était possible d'ajouter dans la légende des séries l'évolution (ex: +5%). ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
michelxld
Messages postés402Date d'inscriptionvendredi 6 août 2004StatutMembreDernière intervention12 octobre 200832 2 avril 2006 à 18:19
bonsoir
tu n'as pas précisé quel type de graphique tu utilises et si tu veux comprarer des serie differentes ou les points d'une meme serie
sinon cet exemple permet d'afficher l'évolution en pourcentage des points d'une série par rapport aux points précédents
Sub afficherEvolutionPourcentage_EnFonctionDuPointPrecedent()
'remarque : les labels ne seront pas mis à jour automatiquement
'si les données sont modifiées dans le tableau
Dim j As Integer
Dim X As Single, Y As Single
Dim Resultat As String
On Error Resume Next
'suppression des Labels existants
Feuil1.ChartObjects(1).Chart.SeriesCollection(1).DataLabels.Delete
On Error GoTo 0
'affichage des Labels (Ordonnées pour en extraire les valeurs
Feuil1.ChartObjects(1).Chart.SeriesCollection(1).ApplyDataLabels Type:=xlDataLabelsShowValue
'boucler sur les point de la 1ere serie ( en dehors du premier point )
For j = 2 To Feuil1.ChartObjects(1).Chart.SeriesCollection(1).Points.Count
X = Feuil1.ChartObjects(1).Chart.SeriesCollection(1).Points(j).DataLabel.Characters.Text 'valeur du point
Y = Feuil1.ChartObjects(1).Chart.SeriesCollection(1).Points(j - 1).DataLabel.Characters.Text 'valeur du point precedent
'insere le pourcentage pour chaque point de la serie
'cette ligne est placée avant la ligne "Resultat = Format((X / Y) - 1, "0.00%")" et permet ainsi
'de ne rien afficher pour le 1er point
Feuil1.ChartObjects(1).Chart.SeriesCollection(1).Points(j - 1).DataLabel.Characters.Text = Resultat
'calcul le pourcentage entre le point et le point de la semaine precedente
Resultat = Format((X / Y) - 1, "0.00%")
Next j
'affiche le pourcentage pour le dernier point de la serie
Feuil1.ChartObjects(1).Chart.SeriesCollection(1).Points(j - 1).DataLabel.Characters.Text = Resultat
End Sub