XL 2016 Automatisation graphique et export

cocro

XLDnaute Junior
Bonjour,
je dois réaliser plusieurs graphiques communaux qui devront être intégrés dans un document infographié.
Ce sont 4 séries d'histogramme pour 120 communes qui sont ainsi à créer. Une automatisation s'imposerait mais je ne sais comment m'y prendre 😞

je joins en exemple un extrait du tableau de données et graphique attendu.
De mon graphique, j'en ai fait un modèle pour le reproduire aisément, j'ai adapté une macro pour faire un export image de mon graphique ...

VB:
Sub GrapheEnImage()
Dim MyChart As Chart
Set MyChart = ActiveSheet.ChartObjects(1).Chart
MyChart.Export Filename:="E:\_travail_encours\monographie_2020\graph1_commune.png" ', filtername:="PNG"
End Sub

.... j'envisage de faire ce labeur manuellement à défaut de compétences autres.
Je vais copier les trois seuls lignes communales de ma base globale dans la feuille qui génère le graph puis exporter du nom de la commune traitée

A moins que vous puissiez m'apporter une solution pour gagner du temps ?
Merci pour votre appui

Corinne
 

Pièces jointes

  • graphique_en_serie.jpg
    graphique_en_serie.jpg
    38.4 KB · Affichages: 56

cocro

XLDnaute Junior
je continue à chercher ce qui ne va pas dans le processus.
une piste (encore une). le choix du graphique dans la série des histogrammes.
jusqu'à présent, j'ai choisi un histo sans étiquette et les ajoutais dans l'espace graphique.

je viens de refaire le test avec un graphique qui propose par défaut l'affichage des étiquettes et cela fonctionne !
bon, il doit y avoir une référence du style de graphique à donner pour conserver la présentation (exemple style 13, barre se chevauche) car le résultat demeure trois barres accolées.

Ma persévérance associée à votre aide préciseuse, permet d'avancer
Cordialement
 

Rouge

XLDnaute Impliqué
je viens de refaire le test avec un graphique qui propose par défaut l'affichage des étiquettes et cela fonctionne !
bon, il doit y avoir une référence du style de graphique à donner pour conserver la présentation (exemple style 13, barre se chevauche) car le résultat demeure trois barres accolées .


Recréez ce type de graphique en utilisant l'enregistreur de macros. et observez le code obtenu, la clé de l'énigme est peut-être là.
 

cocro

XLDnaute Junior
épilogue de mon (notre) histoire
J'ai suivi votre conseil pour récupérer le code du graphique histo style 13, insérer dans la macro et Miracle, cela tourne à merveille.

VB:
Sub Graphique3_surface_somme()
    Dim DerLig As Long, i As Long
    DerLig = Range("B" & Rows.Count).End(xlUp).Row

    For i = 3 To DerLig - 2 Step 3
        commune = Cells(i, "A")
        ActiveSheet.ChartObjects(1).Activate
        Set MyChart = ActiveSheet.ChartObjects(1).Chart
        ActiveChart.SetSourceData Source:=Range("Feuil8!$C$1:$I$2,Feuil8!$C" & i & ":$I" & i + 2)
        'ActiveChart.ChartType = xlColumnClustered
        ActiveChart.ClearToMatchStyle
        ActiveChart.ChartStyle = 215 'style 13 histogramme
        
        MyChart.Export Filename:="E:\_travail_en_cours\graphique3\" & commune & ".png"
        DoEvents 'attendre que les opérations précédentes soient terminées avant de passer à la suivante
    Next i
End Sub

chose certaine, j'ai fait un bond en avant sur le déchiffrage d'une macro. De là, à en créer une de toute pièce, il va se couler de l'eau sous les ponts

Bonne soirée
encore merci pour votre aide
(je rebondis dans la foulée sur l'autre appui car je ne comprends pas qq chose)
 

Pièces jointes

  • graph_ok.jpg
    graph_ok.jpg
    77.8 KB · Affichages: 17

Statistiques des forums

Discussions
315 093
Messages
2 116 136
Membres
112 667
dernier inscrit
foyoman