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.