Automatisation des tableaux de bord avec Excel
Chapitre 1. Introduction
Chapitre 2. Prérequis
2.1. Introduction
2.2. Prérequis tableur
2.3. Prérequis Visual Basic
2.3.1. Modules et macros
2.3.2. Cellules
2.3.3. Enregistreur macro
2.3.4. Graphiques
2.4. Exercices
Chapitre 3. Etude de cas : gestion des absences
Chapitre 4. Etude de cas : accidents
Page d'accueil Table des matières Niveau supérieur Page précédente Bas de la page Page suivante Webographie du module Glossaire du module

2.3.4. Graphiques

La feuille graphiques du classeur ex_final.xlsm propose 3 boutons de commande permettant d'exécuter les tâches suivantes :

  • passer d'un diagramme en barres à une courbe (macro graphique_courbe).
  • passer d'une courbe à un diagramme en barres (macro graphique_histogramme).
  • actualiser la source de données du graphique (macro graphique_source).

La macro graphique_courbe (respectivement graphique_histogramme) sélectionne la feuille graphiques, puis active le graphique de cette feuille avant d'en changer le type avec la constante numérique xlLineMarkers (respectivement xlColumnClustered pour un diagramme en barres).

Sub graphique_courbe()
    Sheets("graphiques").Select
    ActiveSheet.ChartObjects(1).Activate
    ActiveChart.ChartType = xlLineMarkers
End Sub

La notation ActiveSheet.ChartObjects(1) désigne le premier (et ici seul) graphique de la feuille de calcul.

La troisième macro, qui actualise la source de données grâce à la méthode SetSourceData, calcule auparavant le nombre de valeurs de la colonne A (dans la variable n) :

Sub graphique_source()
    Sheets("graphiques").Select
    ActiveSheet.ChartObjects(1).Activate
    Set F = Worksheets("facture")
    n = WorksheetFunction.CountA(F.Columns("A"))
    ActiveChart.SetSourceData Source:=F.Range(F.Cells(1, 1), F.Cells(n, 2))
        ' ou : ActiveChart.SetSourceData Source:=F.Range("A1:B" & n)
End Sub
Page d'accueil Table des matières Niveau supérieur Page précédente Haut de la page Page suivante Webographie du module Glossaire du module