Personnaliser un diagramme ou un graphique, Excel VBA

Les diagrammes ont de nombreux éléments avec de nombreuses propriétés, qui peuvent bien sûr également être modifiées par la suite. Les éléments se trouvent dans la hiérarchie d’objets sous les diagrammes. Ils diffèrent selon le type de diagramme. En utilisant l’exemple du diagramme linéaire que vous venez de créer, certaines propriétés (et méthodes) importantes doivent être expliquées en tant que représentant.
À partir d’Excel 2010, vous pouvez non seulement créer un graphique, mais vous pouvez également utiliser une macro pour enregistrer les modifications apportées à un graphique. Cela peut être une aide à l’utilisation de la hiérarchie des objets, dont la diversité ne peut pas être complètement décrite ici.

1 Feuille de diagramme

Sub PersonnaliserGraphiqueFeuille()
Dim CH As Chart
Set CH = ThisWorkbook.Charts(1)
PersonnaliserGraphique CH
End Sub

 

Le programme est divisé en deux. Tout d’abord la partie programme qui ne s’applique qu’aux feuilles de diagramme:

 Une variable de type Chart est déclarée. La première feuille de diagramme est affectée à ce classeur.

 La procédure PersonnaliserFeuille () est appelée, la première feuille de diagramme Charts (1) est transférée en paramètre.
La section du programme suit, qui s’applique à la fois aux feuilles de diagramme et aux diagrammes incorporés:

Sub PersonnaliserGraphique(CH As Chart)
' Zone de diagramme
CH.ChartArea.Interior.Color = vbCyan
' Zone de dessin
CH.PlotArea.Interior.Color = vbYellow
' Titrel
CH.HasTitle = True
CH.ChartTitle.Text = "Temperature"

' Légende
CH.HasLegend = True
With CH.Legend
.Interior.Color = vbYellow
.Border.Color = vbBlue
.Border.Weight = xlThick
End With
' Catégories d'axe
With CH.Axes(xlCategory)
.HasTitle = True
.AxisTitle.Text = "Datum"
.TickLabels.NumberFormatLocal = "TT.MM."
End With
' Valeurs de l'axe
With CH.Axes(xlValue)
.HasTitle = True
.AxisTitle.Text = "Grad"
.MinimumScale = 5
.MaximumScale = 35
End With
' Série de données
With CH.SeriesCollection(1)
.Border.Color = vbRed
.MarkerStyle = xlMarkerStyleCircle
.MarkerForegroundColor = vbRed

.MarkerBackgroundColor = vbRed
End With
'Point de données
With CH.SeriesCollection(1).Points(3)
.Border.Color = vbBlue
.ApplyDataLabels xlShowValue
.MarkerStyle = xlMarkerStyleSquare
.MarkerForegroundColor = vbBlue
.MarkerBackgroundColor = vbBlue
End With
End Sub

 

Commentaires

 La propriété ChartArea représente la zone de graphique du graphique. Cela inclut  Zone de dessin, titre et légende. Elle vous la propriété Interior, qui représente (comme une cellule) l’intérieur de l’objet. Cet intérieur a à nouveau une couleur qui, dans cet exemple, est définie sur cyan.

 La propriété PlotArea représente la zone de dessin du diagramme. Elle vous a aussi. une. la propriété Interior, dont la couleur est définie sur jaune dans cet exemple.

Les diagrammes peuvent avoir un titre. Ceci est déterminé par la propriété HasTitle. S’il est défini sur True, le diagramme a un titre; s’il est faux, il n’a pas de titre.

L’apparence du titre est déterminée par la propriété ChartTitle. La propriété Text contient le texte du titre.

  Les graphiques peuvent avoir une légende. Ceci est déterminé par la propriété HasLegend. Il peut également être défini sur True ou False.
  L’apparence de la légende est déterminée par la propriété Legend. Semblable à une cellule, une légende a les propriétés Interior et Bordure. Cela vous permet de déterminer la couleur de l’intérieur ou la couleur et l’épaisseur du cadre.
Tous les axes d’un diagramme sont répertoriés dans la liste Axes. Un seul axe, un seul axe est un objet de type Axis. Tout d’abord, vous devez utiliser la méthode Axes () de l’objet Chart pour décider lequel
L’axe est destiné. Il y a les paramètres:
 xlCategory pour l’axe horizontal, l’axe des catégories
 xlValue pour l’axe vertical, l’axe des valeurs
 Pour chacun des deux axes, l’exemple spécifie qu’ils ont un titre d’axe AxisTitle (HasTitle = True). Le texte du titre de l’axe est alors affecté (AxisTitle.Text = …).
 Pour l’axe des catégories, le formatage des étiquettes de graduation d’étiquetage de l’axe (TickLabels) est déterminé. Dans l’exemple, voici
ben; ils sont formatés en utilisant NumberFormatLocal (comme les cellules).
 La mise à l’échelle est déterminée pour l’axe des valeurs. Ainsi … La valeur la plus basse (MinimumScale) et la valeur la plus élevée (MaximumScale) de l’échelle peuvent être définies.
 Toutes les séries de données d’un diagramme sont répertoriées dans SeriesCollection, SeriesCollection. Une seule série de données est un objet Series Series. Tout d’abord, en utilisant le SeriesCollec-
tion () de l’objet Chart peut être décidé de quelle série de données il s’agit. Cette méthode reçoit le numéro de la série de données en tant que paramètre, en commençant par 1, et renvoie la série de données correspondante en tant que valeur de retour.
 La bordure peut être utilisée pour déterminer les propriétés du cadre (pour la bordure de la glissière de ligne, les propriétés de la ligne réelle) de la série de données. Dans cet exemple, la couleur est définie sur le rouge.
 AvecMarkerStyle, MarkerForegroundColor, MarkerBackgroundColor vous décidez de l’apparence des points marqueurs sur la ligne.
 Un certain nombre de constantes sont autorisées pour MarkerStyle, par ex. MarkerStyle
xlMarkerStyleCircle (cercle), xlMarkerStyleSquare (carré), xlMarkerStyleNone (pas de marquage).
 Les propriétés MarkerForegroundColor et MarkerBack-Marker … Color groundColor représentent la couleur du remplissage et du bord du marqueur.
 Tous les points de données d’une série de données se trouvent dans la liste Points. Un seul point de données est un objet de type Point. Tout d’abord, la méthode Points () de l’objet Series doit être utilisée pour décider de quel point de données il s’agit. Cette méthode reçoit le numéro du point de données en tant que paramètre, en commençant par 1, et renvoie le point de données correspondant en tant que valeur de retour.
 Avec Bordure, vous déterminez les propriétés du cadre (dans le cas des diagrammes linéaires, les propriétés de la ligne réelle) du point de données. Dans cet exemple, la couleur est définie sur bleu.

 La méthode ApplyDataLabels () détermine l’étiquetage des séries de données ou des points de données. Le paramètre le plus important est le type d’étiquette. Les valeurs autorisées sont une. xlShowValue (valeur), xlShowLabel (catégorie), xlShowNone (sans étiquette).
 L’apparence du marquage d’un point de données peut être définie comme pour une série de données, voir ci-dessus.
Remarque
Dans les versions antérieures à Excel 2007, la mise en forme de l’étiquetage de l’axe ne peut pas être définie complètement. La propriété NumberFormatLocal d’une étiquette de graduation ne peut pas être définie avec un format de date.

2 Diagramme intégré
Le programme de modification d’un diagramme incorporé a la même structure que le programme de modification d’une feuille de diagramme, c’est-à-dire en deux parties. La section du programme suit, qui ne s’applique qu’aux diagrammes incorporés:

Sub PersonnaliserGraphiqueIntegrer()
Dim CO As ChartObject
Dim CH As Chart
Set CO = ThisWorkbook.Worksheets("Feuil2"). _
ChartObjects(1)
CO.Left = 220
CO.Top = 30
CO.Width = 400
CO.Height = 300
Set CH = CO.Chart
PersonnaliserGraphique CH
End Sub

 

Commentaires:
 Une variable de type ChartObject est déclarée. Ceci est affecté au premier cadre de graphique de la feuille de tableau de la feuille de calcul.
 Une variable de type Chart est alors déclarée. Nous lui attribuons le diagramme de ce cadre de diagramme.
 Dans le cas d’un diagramme intégré, il peut être judicieux de modifier la position et la taille du cadre du diagramme. Vous pouvez utiliser les propriétés Left, Top, Width et Height pour cela.
 La procédure (déjà connue) PersonnaliserGraphique() est appelée; le graphique est passé en paramètre.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x
()
x