Conservé mise en page d'un graphique

dolc

XLDnaute Nouveau
Bonjour à tous,

Encore une fois je viens sollicité votre précieuse aide.

Je suis en train de réaliser un tableau de bord contenant des graphiques, issu d'une autre feuille Excel (sur laquelle ne figure pas les données sources). Et je souhaiterais que sur mon tableau de bord les graphiques ai une forme plus "dynamique".

Le problème est que je ne veux pas avoir à modifiée toute les semaines mes graphiques n'y aurait il pas une solution pour ne copié que la source du graphique initial.

Ou est il possible de faire en sorte de relier les deux graphiques ensemble, de cette façons si je remplace mon graphique initial le second se modifiera aussi avec les nouvelles données?

Dans l'exemple ci joint vous trouverez en feuille 1 le graphique "mis en page" et en feuille 2 le graphique initial

en vous remerciant à tous pour vos réponses
 

Pièces jointes

  • Exemple.xls
    35 KB · Affichages: 47
  • Exemple.xls
    35 KB · Affichages: 49
  • Exemple.xls
    35 KB · Affichages: 51
G

Guest

Guest
Re : Conservé mise en page d'un graphique

Bonjour,

Macro à tester:
Code:
Sub MiseAJour()
Feuil1.ChartObjects(1).Chart.SeriesCollection(1).Formula = _
        Feuil2.ChartObjects(1).Chart.SeriesCollection(1).Formula
End Sub

A+
 

Gen Rose

XLDnaute Impliqué
Supporter XLD
Re : Conservé mise en page d'un graphique

Bonjour dolc :eek:
Le Forum,

Les graphiques sont toujours dynamiques; aussitôt que l'on modifie la plage-source, il se modifie automatiquement.

J'ai même un jour copié-collé un graphique dans un autre document et il allait tout de même chercher sa mise à jour dans le document d'origine! J'ai donc du faire un copier-coller en format image pour le conserver tel quel.

Dans ton cas, le mieux est de toujours créer tes graphiques de la même plage de données et tes mises à jours se feront à chaque ouverture.

À moins que je n'aie rien compris à ta demande!

Au plaisir,

Edit: Salut Hasco :)
 
Dernière modification par un modérateur:

dolc

XLDnaute Nouveau
Re : Conservé mise en page d'un graphique

Bonjour et merci pour vos réponses,

genevieve78, mon problème est que je n'ai pas accès à la page d’origine de mon graphique, je ne peux pas voir d’où viennent mes données sources.

Hasco, ta macro fonctionne parfaitement, mais peut tu m'en dire un peu plus sur son fonctionnement car sur mon tableau de bord je vais avoir plusieurs graphiques à actualisé de la même façon.
Comment puis je faire pour recopier ta macro sur d'autre graph.

merci
 
G

Guest

Guest
Re : Conservé mise en page d'un graphique

Bonjour,

Lorsque tu cliques sur une série de graphique, tu en vois la formule dans la barre de formule d'excel.
La macro donnée se contente de recopier la formule du graphique brut pour la reproduire dans le graphique mis en page.

La seule difficulté que tu peux rencontrer si tu as plusieurs graphiques sur une même feuille, c'est de trouver leur index "ChartObjects(1)" dans la macro.

L autre moyen est de les identifier par leur nom. Celui qui apparaît à côté de la barre de formule lorsque le graphique est sélectionné. Dans ton exemple ils s'appellent tous les deux "Chart 2" ; ChartObjects("Chart 2") pour VBA.
Ils sont différenciés par le 'parent' de la collection "ChartObjects" qui les contient à savoir Feuil1 & Feuil2
Feuil1.ChartObjects("Chart 2")
Feuil2.ChartObjects("Chart 2")

A+
 

dolc

XLDnaute Nouveau
Re : Conservé mise en page d'un graphique

Merci Hasco pour ta réponse,

Cela fonctionne parfaitement en renommant mes graphiques,

Je rencontre cependant un autre problème, j'ai certains de mes graphiques représentés en colonne avec deux séries à l'intérieur. Mon problèmes est que lorsque je lance la macro que tu m'as donnée il m'est à jours les données d'une seul des deux séries.

Dans l’exemple ci-joint j'ai modifié le graph présent dans la feuille 2 et j'ai lancé la macro, les données en colonne ce sont bien mises à jour mais pas celle sous forme de point.
 

Pièces jointes

  • Exemple2.xls
    50.5 KB · Affichages: 60
  • Exemple2.xls
    50.5 KB · Affichages: 55
  • Exemple2.xls
    50.5 KB · Affichages: 59
G

Guest

Guest
Re : Conservé mise en page d'un graphique

Bonjour,

Faire une boucle sur l'objet SeriesCollection:

Code:
Sub MiseAJour()
Dim idxSerie As Integer
    With Feuil1.ChartObjects(1).Chart
        For idxSerie = 1 To .SeriesCollection.Count
            .SeriesCollection(idxSerie).Formula = _
            Feuil2.ChartObjects(1).Chart.SeriesCollection(idxSerie).Formula
        Next
    End With
End Sub

Mettre la macro dans un module comme dans le fichier ci-joint.
 

dolc

XLDnaute Nouveau
Re : Conservé mise en page d'un graphique

Bonjour,

Et désolé pour ma réponse tardive, mais entre les ponts et ma formation je n'ai pas eu le temps de répondre.
En tout cas Hasco je te remercie sincérement pour ta macro qui fonctionne parfaitement avec mon fichier :)

Et merci au autres pour vos réponses
 

Statistiques des forums

Discussions
312 239
Messages
2 086 508
Membres
103 238
dernier inscrit
ds776001