Créer un graphique de carte, Excel VBA

Créer un graphique de carte, Excel VBA

Voici le code VBA détaillé pour créer un graphique de carte dans Excel, ainsi qu’une explication complète.
Prérequis :
1. Vous devez disposer d’Excel 365 ou Excel 2021, car les graphiques de cartes sont une fonctionnalité introduite dans ces versions.
2. Vos données doivent inclure des informations géographiques (comme des noms de pays, des régions ou des codes postaux) et les valeurs associées que vous souhaitez visualiser sur la carte.
Code VBA :

Sub CreateMapChart()
    ' Définir les variables
    Dim ws As Worksheet
    Dim chartObj As ChartObject
    Dim rng As Range
    Dim chartData As Range
    ' Définir la feuille de calcul
    Set ws = ThisWorkbook.Sheets("Sheet1") ' Remplacez par le nom de votre feuille
    ' Définir la plage de données
    ' La première colonne doit contenir les données géographiques et la deuxième les valeurs correspondantes
    Set chartData = ws.Range("A1:B10") ' Modifiez la plage de données si nécessaire
    ' Créer un nouvel objet graphique
    Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=600, Top:=100, Height:=400)
    ' Définir le type de graphique en carte
    chartObj.Chart.ChartType = xlMap
    ' Définir les données pour le graphique
    chartObj.Chart.SetSourceData Source:=chartData
    ' Ajuster les options du graphique
    With chartObj.Chart
        ' Définir le titre
        .HasTitle = True
        .ChartTitle.Text = "Carte des données géographiques"
        ' Personnaliser l'apparence de la carte
        .MapChart.MapStyle = xlMapStyleShaded
        .MapChart.RegionType = xlMapRegionCountry
        ' Ajouter une échelle de couleurs pour représenter les valeurs
        .Axes(xlValue).MinimumScale = 0 ' Valeur minimale pour l'échelle de couleurs
        .Axes(xlValue).MaximumScale = 100 ' Valeur maximale pour l'échelle de couleurs
        ' Formater les étiquettes de données (facultatif)
        .ApplyDataLabels
    End With
    ' Alerter l'utilisateur que la carte a été créée
    MsgBox "Le graphique de la carte a été créé avec succès !"
End Sub

Explication du code :
1. Déclaration des variables :

  • ws : fait référence à la feuille de calcul contenant les données.
  • chartObj : représente l’objet graphique que nous allons créer.
  • rng : un espace réservé pour la plage de données, bien que non utilisé directement ici.
  • chartData : représente la plage où se trouvent vos données géographiques et les valeurs associées (ex. pays et ventes).

2. Définir la feuille de calcul et la plage de données :

  • Set ws = ThisWorkbook.Sheets("Sheet1") : définit la feuille de calcul contenant vos données. Remplacez "Sheet1" par le nom réel de votre feuille.
  • Set chartData = ws.Range("A1:B10") : définit la plage contenant vos données. La colonne A contient les lieux géographiques (pays, régions) et la colonne B contient les valeurs correspondantes.

3. Créer le graphique :

  • Set chartObj = ws.ChartObjects.Add(...) : ajoute un graphique à la feuille de calcul et définit sa position et ses dimensions.
  • chartObj.Chart.ChartType = xlMap : définit le type de graphique comme étant une carte.

4. Définir les données du graphique :

  • chartObj.Chart.SetSourceData Source:=chartData : assigne la plage de données au graphique.

5. Personnalisation du graphique :

  • chartObj.Chart.HasTitle = True : active l’affichage du titre du graphique.
  • .ChartTitle.Text = "Carte des données géographiques" : définit le titre du graphique de la carte.
  • .MapChart.MapStyle = xlMapStyleShaded : applique un style de carte ombrée pour la visualisation.
  • .MapChart.RegionType = xlMapRegionCountry : spécifie que les régions de la carte sont des pays. Cela peut être ajusté pour utiliser des régions, des codes postaux, etc., en fonction de vos données.
  • .Axes(xlValue).MinimumScale = 0 : définit la valeur minimale pour l’échelle des couleurs.
  • .Axes(xlValue).MaximumScale = 100 : définit la valeur maximale pour l’échelle des couleurs.

6. Ajouter des étiquettes de données (facultatif) :

  • chartObj.Chart.ApplyDataLabels : affiche les étiquettes de données pour les valeurs sur la carte.

7. Finir l’exécution :

  • MsgBox "Le graphique de la carte a été créé avec succès !": Une boîte de message pour informer l’utilisateur que le graphique a été créé avec succès.

Comment utiliser :
1. Assurez-vous que vos données sont dans le format correct : la colonne A pour les lieux géographiques (pays, régions) et la colonne B pour les valeurs (par exemple, la population, les ventes, etc.).
2. Allez dans l’éditeur VBA (appuyez sur Alt + F11), créez un nouveau module, puis collez le code ci-dessus.
3. Modifiez le nom de la feuille et la plage de données pour correspondre à vos données spécifiques.
4. Exécutez la macro en appuyant sur F5 dans l’éditeur VBA.
Cela générera un graphique de carte dans Excel en fonction de vos données géographiques, avec des couleurs représentant les valeurs de la deuxième colonne.

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