Créer des titres de graphique dynamiques, Excel VBA

Créer des titres de graphique dynamiques, Excel VBA

Voici une explication détaillée pour créer des titres de graphique dynamiques avec VBA dans Excel. Cette méthode permet de modifier les titres des graphiques en fonction des données ou des conditions de manière dynamique. Voici les étapes à suivre. 

Étape 1 : Ouvrir Excel et accéder à l’éditeur VBA 

  1. Ouvrez votre classeur Excel. 
  2. Appuyez sur Alt + F11 pour ouvrir l’éditeur Visual Basic for Applications (VBA)
  3. Dans l’éditeur VBA, vous verrez l’explorateur de projets sur le côté gauche. C’est là que votre classeur et ses objets sont listés. 

Étape 2 : Insérer un module 

  1. Dans l’éditeur VBA, faites un clic droit sur VBAProject (Nom de votre classeur)
  2. Sélectionnez Insérer > Module. Cela crée un nouveau module où vous pouvez écrire le code VBA. 

Étape 3 : Écrire le code VBA 

Dans le module que vous venez d’insérer, écrivez le code VBA suivant. Cet exemple suppose que vos données sont dans la plage A1:B10 et que vous créez un graphique basé sur ces données. Le titre du graphique changera dynamiquement en fonction du contenu d’une cellule spécifique. 

Exemple de code : 

Sub CreateDynamicChartTitle() G
    Dim ws As Worksheet 
    Dim chartObj As ChartObject 
    Dim dynamicTitle As String 
    Dim dataRange As Range 
    ' Définir la feuille de travail 
    Set ws = ThisWorkbook.Sheets("Feuille1") 
    ' Définir la plage de données (modifiez selon vos données) 
    Set dataRange = ws.Range("A1:B10") 
    ' Créer un graphique basé sur la plage de données 
    Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225) 
    chartObj.Chart.SetSourceData Source:=dataRange 
    ' Définir le titre dynamique - Ici, nous utilisons les données de la cellule C1 comme titre dynamique 
    dynamicTitle = ws.Range("C1").Value 
    ' Appliquer le titre dynamique au graphique 
    chartObj.Chart.HasTitle = True 
    chartObj.Chart.ChartTitle.Text = "Rapport des ventes : " & dynamicTitle  
    ' Optionnel : Formater le titre du graphique (modifiez selon vos besoins) 
    With chartObj.Chart.ChartTitle.Format.TextFrame2.TextRange 
        .Font.Size = 14 
        .Font.Bold = True 
        .Font.Name = "Arial" 
    End With 
End Sub

Explication du code : 

1. Définir la feuille de travail et la plage de données : 

  • Set ws = ThisWorkbook.Sheets(« Feuille1 ») définit la feuille de travail où se trouvent les données. 
  • Set dataRange = ws.Range(« A1:B10 ») définit la plage de données pour votre graphique. 

2. Créer le graphique : 

  • Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225) crée un nouveau graphique sur la feuille à la position et taille spécifiées. 
  • chartObj.Chart.SetSourceData Source:=dataRange définit la plage de données pour le graphique. 

3. Titre dynamique : 

  • dynamicTitle = ws.Range(« C1 »).Value récupère la valeur de la cellule C1 pour l’utiliser comme titre dynamique du graphique. 
  • chartObj.Chart.ChartTitle.Text = « Rapport des ventes :  » & dynamicTitle applique un titre au graphique en utilisant la valeur de C1. 

4. Formatage optionnel : 

  • Vous pouvez personnaliser l’apparence du titre du graphique avec ChartTitle.Format.TextFrame2.TextRange. Dans cet exemple, la taille de la police est définie sur 14, le texte est en gras, et la police est définie sur Arial. 

Étape 4 : Exécuter la macro 

  1. Fermez l’éditeur VBA et revenez à Excel. 
  2. Appuyez sur Alt + F8 pour ouvrir la boîte de dialogue Macro
  3. Sélectionnez la macro CreateDynamicChartTitle et cliquez sur Exécuter

Résultat : 

  • Un nouveau graphique apparaîtra sur votre feuille, et son titre sera automatiquement mis à jour en fonction de la valeur de la cellule C1 (par exemple, « Rapport des ventes : 2025 T1 » si C1 contient « 2025 T1 »). 
  • Vous pouvez modifier la valeur dans la cellule C1, puis réexécuter la macro pour mettre à jour le titre du graphique en conséquence. 

Conclusion : 

En utilisant cette méthode, vous pouvez créer des titres de graphiques dynamiques qui changent en fonction du contenu d’une cellule ou d’autres conditions dans votre feuille de calcul. Cela peut être particulièrement utile lorsque vous avez plusieurs graphiques qui doivent être mis à jour automatiquement en fonction des données ou paramètres changeants. 

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