Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
    38.4 KB · Affichages: 55

Rouge

XLDnaute Impliqué
je viens de voir Excel 2016, c'est tout de même vraiment bizarre.
Je vous retourne mon fichier, on ne sait jamais.
 

Pièces jointes

  • cocro_Automatisation graphique et export_2.xlsm
    36.4 KB · Affichages: 4

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
    77.8 KB · Affichages: 17
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…