rendre dynamique un graph

  • Initiateur de la discussion Initiateur de la discussion noemie45
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

noemie45

XLDnaute Occasionnel
Bonjour

j'ai un fichier avec plusieurs onglet, tous sous le même format
Je souhaiterais recopier mon graph qui est sur le 1er onglet sur l'ensemble des autres feuilles.
et je voudrais que mon graph prenne en compte les données de la page active.

cf pièce jointe

Merci pour votre aide
 

Pièces jointes

Re : rendre dynamique un graph

Bonsoir,

Utilise cette macro sur chaque feuille ça devrait marcher

Sub Graph()
ActiveSheet.Activate
Range("A1:B10").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Range("A1:B10")
End Sub

Bonne soirée
 
Dernière modification par un modérateur:
Re : rendre dynamique un graph

Bonjour à tous

Une proposition pour rendre un graphique dynamique et pas multiplier les graphiques statiques.
Choix de la page à prendre en compte dans la cellule jaune de l'onglet "GRAPH".
Création de plages nommées avec INDIRECT et DECALER.
Utilisation de ces plages comme source du graphique (NomEntierDuClassseurAvecExtention!NomDeLaPlage)

Et une formule pour afficher les données source des onglets sur l'onglet "GRAPH"


Cordialement

EDIT : Fichier plus simple
 

Pièces jointes

Dernière édition:
Re : rendre dynamique un graph

Je souhaiterais recopier mon graph qui est sur le 1er onglet sur l'ensemble des autres feuilles.
Je voudrais que mon graph prenne en compte les données de la page active.

Bonjour,

Une piste en VBA.

Copiez le code suivant dans un module Standard
Code:
Sub CopieGraph_UpdateSerie()
Const NOM_GRAPH_PAR_DEFAUT As String = "Collage"
'---
Dim S As Worksheet
Dim CH As Chart
Dim CH2 As Chart
Dim CO As ChartObject
Dim NbChartObject&
Dim Adresse$
Dim FeuilleSource$
'--- Si la séléction n'est pas un graphique, on sort ---
If TypeName(Selection) <> "ChartArea" Then
  MsgBox "Veuillez sélectionner le graphique source"
  Exit Sub
End If
'--- Le graphique source ---
Set CH = ActiveChart
Adresse$ = CH.Parent.TopLeftCell.Address
FeuilleSource$ = CH.Parent.Parent.Name
'--- Boucle sur toutes les feuilles hormis la feuille source ---
For Each S In ActiveWorkbook.Worksheets
  CH.ChartArea.Copy                         'copie du graphique source
  If S.Name <> FeuilleSource$ Then          'la feuille source n'est pas prise en compte
    '/// VERIFICATION ///
    '--- S'il est déjà existant, Supprime le ChartObject ---
    '---  ayant le nom NOM_GRAPH_PAR_DEFAUT ("Collage")  ---
    For Each CO In S.ChartObjects
      If CO.Name = NOM_GRAPH_PAR_DEFAUT Then CO.Delete
    Next CO
    '--- Nombre de ChartObjets sur la feuille
    NbChartObject& = S.ChartObjects.Count
    '///////////////////
    S.Paste Destination:=S.Range(Adresse$)  'colle le graphique
    
    '--- Le nouveau graphique ---
    Set CH2 = S.ChartObjects(NbChartObject& + 1).Chart
    CH2.Parent.Name = NOM_GRAPH_PAR_DEFAUT  'on donne le nom par défaut au parent (ChartObject)
    CH2.SeriesCollection(1).Delete          'supprime la série
    S.[a1].CurrentRegion.Copy               'copie les données à partir de la cellule A1 (à adapter)
    CH2.SeriesCollection.Paste              'crée une nouvelle série avec les données adéquates
    '----------------------------
  End If
Next S
'--- Vide le presse-papiers ---
Application.CutCopyMode = False
End Sub

Marche à suivre :
Cliquez sur le graphique à reproduire pour qu'il soit sélectionné. Lancez la procédure "CopieGraph_UpdateSerie".
Le programme copie le graphique et le colle au même emplacement (TopLeftCell) sur toutes les autres feuilles.
Il met à jour chaque graphique en actualisant les données de série à partir de la région courante de la cellule A1.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
204
Retour