Insérer des Sparklines, Excel VBA
Voici un code détaillé en VBA pour insérer des Sparklines dans Excel, accompagné d’une explication approfondie.
Code VBA pour Insérer des Sparklines dans Excel
Sub InsererSparklines() ' Déclarer les variables Dim ws As Worksheet Dim plageDonnees As Range Dim plageSparklines As Range Dim typeSparkline As String ' Définir la feuille de calcul où les sparklines seront insérées Set ws = ThisWorkbook.Sheets("Feuille1") ' Définir la plage de données à partir de laquelle les sparklines seront créées Set plageDonnees = ws.Range("B2:B10") ' La plage de données (peut être n'importe quelle colonne/plage) ' Définir la plage où les sparklines seront insérées Set plageSparklines = ws.Range("C2:C10") ' Les cellules où les sparklines seront affichées ' Définir le type de sparklines (peut être "Line", "Column" ou "WinLoss") typeSparkline = "Line" ' Choisir parmi "Line", "Column" ou "WinLoss" ' Effacer les anciennes sparklines dans la plage de destination plageSparklines.ClearContents plageSparklines.ClearFormats ' Insérer les sparklines dans la plage spécifiée ws.SparklineGroups.Add Type:=typeSparkline, _ DataRange:=plageDonnees, _ LocationRange:=plageSparklines ' Personnalisation des Sparklines (par exemple, changer la couleur ou le style) Dim sp As Sparkline For Each sp In ws.SparklineGroups(1).Sparklines ' Exemple : Modifier la couleur des points des sparklines sp.Points.Color = RGB(255, 0, 0) ' Couleur rouge pour les points sp.SeriesColor = RGB(0, 0, 255) ' Couleur bleue pour la ligne Next sp MsgBox "Les sparklines ont été insérées avec succès !" End Sub
Explication détaillée du code :
1. Déclaration des variables :
- ws: Cette variable fait référence à la feuille de calcul où les sparklines seront insérées. Ici, elle est définie sur Feuille1, mais vous pouvez la changer pour n’importe quelle feuille de votre choix.
- plageDonnees: Il s’agit de la plage de données utilisée pour créer les sparklines. Dans cet exemple, elle est définie de B2:B10. Cette plage peut contenir n’importe quel jeu de données numériques que vous souhaitez visualiser.
- plageSparklines: C’est la plage où les sparklines seront insérées. Dans cet exemple, elles apparaîtront dans la colonne C de la ligne 2 à la ligne 10.
2. Définir la plage de données et la plage des sparklines :
- La variable plageDonnees contient les données utilisées pour générer les sparklines.
- La variable plageSparklines est la plage dans laquelle les sparklines seront affichées, juste à côté de vos données.
3. Effacer les anciennes sparklines :
- Avant d’ajouter de nouvelles sparklines, on utilise la méthode ClearContents pour effacer les anciennes valeurs et la méthode ClearFormats pour supprimer les formats existants dans la plage plageSparklines. Cela garantit qu’il n’y a pas de conflits avec des sparklines précédentes.
4. Insertion des Sparklines :
-
- La méthode clé ici est SparklineGroups.Add. Elle permet d’ajouter les sparklines dans la plage définie. Vous pouvez spécifier le type de sparklines en ajustant la variable typeSparkline à l’une des valeurs suivantes :
- Line : pour des sparklines en ligne (tendance des données au fil du temps).
- Column : pour des sparklines sous forme de colonnes (barres verticales représentant les valeurs).
- WinLoss : pour des sparklines représentant des victoires ou des pertes (souvent utilisées pour les séries de valeurs positives et négatives)
- La méthode clé ici est SparklineGroups.Add. Elle permet d’ajouter les sparklines dans la plage définie. Vous pouvez spécifier le type de sparklines en ajustant la variable typeSparkline à l’une des valeurs suivantes :
Dans cet exemple, le type de sparkline est défini sur « Line », mais vous pouvez changer ce type selon vos besoins.
5. Personnalisation des Sparklines :
- Une fois les sparklines insérées, nous utilisons une boucle For Each pour itérer sur chaque sparkline insérée et appliquer des personnalisations.
- Dans cet exemple, la couleur des points des sparklines est changée en rouge (via sp.Points.Color = RGB(255, 0, 0)) et la couleur de la ligne est changée en bleu (via sp.SeriesColor = RGB(0, 0, 255)).
6. Message de confirmation :
- À la fin, un message de confirmation est affiché via MsgBox, indiquant que les sparklines ont été insérées avec succès.
Explication des types de Sparklines :
- Sparklines en ligne (Line) : Elles montrent l’évolution des valeurs au fil du temps sous forme de ligne continue. Elles sont utiles pour visualiser des tendances globales sur une période donnée.
- Sparklines en colonnes (Column) : Elles affichent les données sous forme de barres verticales. Chaque barre représente une valeur, et leur hauteur montre la magnitude de la valeur.
- Sparklines de type Win/Loss : Elles représentent généralement des séries de données avec des valeurs positives et négatives. Les valeurs positives peuvent être colorées en vert et les négatives en rouge, indiquant une « victoire » ou une « perte ».
Personnalisation supplémentaire des Sparklines :
Les sparklines peuvent être encore personnalisées de diverses façons, telles que :
- Changer la couleur de chaque point selon la valeur (par exemple, les points supérieurs ou inférieurs peuvent être colorés différemment).
- Modifier la plage de valeurs maximales et minimales des sparklines.
- Ajouter des marqueurs pour indiquer les points les plus hauts et les plus bas, etc.
Ce code vous offre un point de départ pour ajouter des sparklines dans vos feuilles de calcul Excel en utilisant VBA.