Excel Graphique croisé dynamique

Résolu
patou287 Messages postés 3 Date d'inscription dimanche 2 avril 2006 Statut Membre Dernière intervention 2 avril 2006 - 2 avril 2006 à 15:06
michelxld Messages postés 402 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 12 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.

Avez-vous une idée ???
Merci d'avance.

5 réponses

michelxld Messages postés 402 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 12 octobre 2008 32
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

bon apres midi
michel
3
patou287 Messages postés 3 Date d'inscription dimanche 2 avril 2006 Statut Membre Derniè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 ?

Merci d'avance.
0
michelxld Messages postés 402 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 12 octobre 2008 32
2 avril 2006 à 17:18
rebonjour

je suis désolé mais je ne comprend pas ta derniere question . peux tu presciser ta demande ?

bonne soiree
michel
0
patou287 Messages postés 3 Date d'inscription dimanche 2 avril 2006 Statut Membre Derniè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%). ??
0

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

Posez votre question
michelxld Messages postés 402 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 12 octobre 2008 32
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

bonne soiree
michel
0
Rejoignez-nous