Créer un graphique de type heatmap (carte thermique), Excel VBA

Créer un graphique de type heatmap (carte thermique), Excel VBA

Voici un code VBA détaillé pour créer un graphique de type heatmap (carte thermique) dans Excel. Une heatmap est souvent créée en utilisant un formatage conditionnel ou une échelle de couleurs, mais vous pouvez également le faire de manière programmatique avec VBA. Ci-dessous, je vais vous expliquer les étapes et vous fournir le code détaillé.
Code VBA pour Créer une Heatmap
Ce code suppose que vous avez des données dans une feuille de calcul et que vous souhaitez créer une heatmap basée sur ces données.

Sub CreateHeatmap()
    Dim ws As Worksheet
    Dim dataRange As Range
    Dim chartObj As ChartObject
    Dim heatmapRange As Range
    ' Définir la feuille de travail et la plage de données
    Set ws = ThisWorkbook.Sheets("Sheet1") ' Modifiez le nom de la feuille si nécessaire
    Set dataRange = ws.Range("A1:D10") ' Ajustez votre plage de données ici
    ' Créer un nouveau graphique
    Set chartObj = ws.ChartObjects.Add(Left:=300, Width:=500, Top:=50, Height:=300)
    ' Définir les données du graphique
    chartObj.Chart.SetSourceData Source:=dataRange
    ' Définir le type de graphique à "Colonnes groupées" (vous pouvez ajuster ce type si nécessaire)
    chartObj.Chart.ChartType = xlColumnClustered
    ' Appliquer les couleurs de la Heatmap avec le formatage conditionnel (échelle de couleurs)
    Set heatmapRange = dataRange ' La plage où la heatmap sera appliquée
    ' Effacer tout formatage précédent
    heatmapRange.FormatConditions.Delete
    ' Ajouter une échelle de couleurs (Vert - Jaune - Rouge)
    With heatmapRange.FormatConditions.AddColorScale(ColorScaleType:=3)
        ' Définir les propriétés de l'échelle de couleurs
        With .ColorScaleCriteria(1)
            .Type = xlConditionValueLowestValue
            .FormatColor.Color = RGB(0, 255, 0) ' Vert pour la valeur la plus basse
        End With
        With .ColorScaleCriteria(2)
            .Type = xlConditionValuePercentile
            .Formula = "=50" ' La valeur médiane est jaune
            .FormatColor.Color = RGB(255, 255, 0) ' Jaune pour la valeur médiane
        End With
        With .ColorScaleCriteria(3)
            .Type = xlConditionValueHighestValue
            .FormatColor.Color = RGB(255, 0, 0) ' Rouge pour la valeur la plus haute
        End With
    End With
    ' Ajuster la mise en forme du graphique si nécessaire
    With chartObj.Chart
        .HasTitle = True
        .ChartTitle.Text = "Carte Thermique des Données"
        .Axes(xlCategory).HasTitle = True
        .Axes(xlCategory).AxisTitle.Text = "Catégories"
        .Axes(xlValue).HasTitle = True
        .Axes(xlValue).AxisTitle.Text = "Valeurs"
    End With
End Sub

Explication du Code
1. Définir la feuille de calcul et la plage de données :

  • La variable ws représente la feuille de calcul où se trouvent les données. Vous pouvez ajuster le nom de la feuille si nécessaire.
  • La variable dataRange représente la plage de données à visualiser (par exemple, de A1:D10).

2. Création du graphique :

  • Un graphique est créé sur la feuille de travail en utilisant la méthode ChartObjects.Add. Le graphique est positionné à un endroit spécifique de la feuille grâce aux paramètres Left, Width, Top, et Height.
  • La méthode SetSourceData est utilisée pour lier le graphique à la plage de données que vous avez spécifiée.

3. Définir le type de graphique :

  • Le type de graphique est défini sur xlColumnClustered, ce qui signifie que vous obtiendrez un graphique à colonnes groupées. Vous pouvez changer cela pour d’autres types de graphiques (comme xlLine ou xlBar) si vous préférez une autre visualisation.

4. Ajouter un formatage conditionnel (couleurs de la heatmap) :

  • La méthode FormatConditions.AddColorScale est utilisée pour appliquer une échelle de couleurs à la plage de données.
  • Cette échelle de couleurs a trois niveaux :
  • Le premier niveau s’applique aux valeurs les plus basses et utilise la couleur verte (RGB(0, 255, 0)).
  • Le deuxième niveau s’applique aux valeurs du 50e centile et utilise la couleur jaune (RGB(255, 255, 0)).
  • Le troisième niveau s’applique aux valeurs les plus élevées et utilise la couleur rouge (RGB(255, 0, 0)).

5. Mise en forme du graphique :

  • Après avoir appliqué la heatmap, le code ajuste la mise en forme du graphique pour lui donner un titre et étiqueter les axes en « Catégories » et « Valeurs ».
  • Vous pouvez ajuster ces titres en fonction de vos besoins.

Points Clés :

  • Le code utilise le formatage conditionnel pour appliquer des échelles de couleurs à la plage de données, ce qui constitue la base de l’effet heatmap.
  • Le graphique est défini comme un graphique à colonnes, mais vous pouvez personnaliser ce type en modifiant la propriété ChartType. Par exemple, utilisez xlLine pour un graphique en courbes.
  • Le formatage conditionnel applique des couleurs en fonction des valeurs des données, ce qui permet de visualiser les tendances et les valeurs aberrantes.

Personnalisation :

  • Plage de données : Ajustez la variable dataRange pour correspondre à vos données.
  • Type de graphique : Changez le type de graphique en modifiant la propriété ChartType. Par exemple, utilisez xlLine pour un graphique en courbes.
  • Couleurs : Vous pouvez modifier les valeurs RGB pour utiliser d’autres couleurs pour la heatmap (par exemple, bleu pour les faibles, jaune pour le milieu, rouge pour les fortes).

Ce code crée dynamiquement un graphique de type heatmap avec un formatage conditionnel qui vous aidera à visualiser vos données dans Excel.

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