Création d’un Graphique Thermomètre dans Excel, Excel VBA

Création d’un Graphique Thermomètre dans Excel, Excel VBA
Un graphique Thermomètre est une excellente manière de représenter visuellement les progrès vers un objectif, comme le suivi des performances de vente, l’avancement d’un projet ou toute autre métrique basée sur un pourcentage. Ce guide vous fournira un code VBA détaillé pour créer un graphique Thermomètre dynamique dans Excel.
1. Comprendre la Structure du Graphique Thermomètre
Un graphique Thermomètre se compose de :

  • Une colonne de fond représentant 100 % de l’objectif.
  • Une colonne remplie représentant la progression réelle.
  • Un graphique bien formaté pour ressembler à un thermomètre.

Le concept de base derrière ce graphique consiste à utiliser un Graphique à Colonnes Empilées, où :

  • Une série de données représente la valeur réelle.
  • Une autre série représente la valeur maximale possible.

2. Préparer les Données pour le Graphique
Nous avons besoin d’un tableau simple avec :

Indicateur Valeur
Valeur actuelle 75
Valeur cible 100

3. Code VBA pour Créer un Graphique Thermomètre Dynamique
Le macro VBA suivant automatise le processus de création et de formatage du Graphique Thermomètre :

Sub CreateThermometerChart()
    Dim ws As Worksheet
    Dim chartObj As ChartObject
    Dim chart As Chart
    Dim rng As Range
    ' Définir la feuille de travail où les données sont stockées
    Set ws = ActiveSheet
    ' Définir la plage de données pour le graphique
    Set rng = ws.Range("A1:B3") ' Supposons que les données commencent à A1 avec des en-têtes
    ' Supprimer tout graphique existant dans la feuille de travail
    For Each chartObj In ws.ChartObjects
        chartObj.Delete
    Next chartObj
    ' Ajouter un nouveau graphique
    Set chartObj = ws.ChartObjects.Add(Left:=100, Top:=50, Width:=300, Height:=400)
    Set chart = chartObj.Chart
    ' Définir les données sources du graphique
    chart.SetSourceData Source:=rng
    ' Changer le type de graphique en Graphique à Colonnes Empilées
    chart.ChartType = xlColumnStacked
    ' Formater le graphique pour ressembler à un thermomètre
    With chart
        .HasTitle = True
        .ChartTitle.Text = "Graphique Thermomètre"
        .Legend.Delete ' Supprimer la légende
        .Axes(xlCategory).Delete ' Supprimer l'axe horizontal
    End With
    ' Formater la première série de données
    With chart.SeriesCollection(1)
        .IsFiltered = False
        .Format.Fill.ForeColor.RGB = RGB(255, 0, 0) ' Couleur rouge pour la progression
        .Format.Fill.Transparency = 0
    End With
    ' Formater la deuxième série (fond)
    With chart.SeriesCollection(2)
        .Format.Fill.ForeColor.RGB = RGB(200, 200, 200) ' Fond gris
        .Format.Fill.Transparency = 0.5 ' Légère transparence
    End With
    ' Ajuster l'axe des ordonnées
    With chart.Axes(xlValue)
        .MaximumScale = ws.Range("B3").Value ' Définir l'échelle maximale sur la valeur cible
        .MinimumScale = 0 ' S'assurer que l'échelle commence à zéro
        .TickLabels.NumberFormat = "0%"
    End With
    ' Aligner correctement le graphique
    chartObj.Left = ws.Range("D1").Left
    chartObj.Top = ws.Range("D1").Top
End Sub

4. Explication du Code
Étape 1 : Configuration de la Feuille et des Données

      • Le macro fonctionne sur la feuille active.
      • Il suppose que la colonne A contient les labels et la colonne B contient les valeurs numériques (Valeur actuelle et Valeur cible).

Étape 2 : Suppression des Graphiques Existants

      • Avant d’ajouter un nouveau graphique, tout graphique existant dans la feuille est supprimé pour éviter les doublons.

Étape 3 : Création d’un Nouveau Graphique

      • Un ChartObject est inséré dans la feuille de travail à un emplacement spécifié.
      • Les données sources pour le graphique sont définies avec chart.SetSourceData.

Étape 4 : Changement du Type de Graphique

      • Le type de graphique est défini en Graphique à Colonnes Empilées (xlColumnStacked).

Étape 5 : Formatage pour l’Effet Thermomètre

      • La première série de données (Valeur actuelle) est colorée en rouge pour représenter la progression.
      • La deuxième série de données (Valeur cible) est colorée en gris pour représenter l’échelle complète.
      • La légende est supprimée pour un aspect plus épuré.
      • L’axe horizontal est supprimé pour donner l’apparence d’un thermomètre.

Étape 6 : Ajustement de l’Axe des Ordonnées

      • L’échelle maximale est définie dynamiquement sur la Valeur cible.
      • Les étiquettes de l’axe sont formatées en pourcentage.

5. Exécution du Code VBA
Pour exécuter le macro :
1. Ouvrez Excel et appuyez sur ALT + F11 pour ouvrir l’éditeur VBA.
2. Insérez un nouveau Module (InsertionModule).
3. Copiez et collez le code VBA dans le module.
4. Exécutez le macro en appuyant sur F5.
6. Améliorations et Personnalisations
1. Mettre à jour le Graphique automatiquement

      • Au lieu de recréer le graphique à chaque fois, vous pouvez modifier le macro pour mettre à jour un graphique existant lorsque les valeurs changent.

2. Ajouter un UserForm pour la Saisie des Données

      • Permettre aux utilisateurs de saisir les valeurs dans un UserForm et de mettre à jour dynamiquement le graphique.

3. Améliorer l’Esthétique

      • Ajouter des bords arrondis et un effet brillant pour le thermomètre.
      • Utiliser des dégradés de couleurs pour améliorer la visualisation.

7. Conclusion
Ce macro VBA fournit une méthode structurée pour créer un graphique Thermomètre dynamique dans Excel. En suivant ce guide, vous pouvez automatiser la visualisation du suivi des progrès, rendant ainsi vos rapports plus interactifs et pertinents.

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x