Classe Chart (Excel VBA)

La classe Chart représente un graphique dans un classeur.

Les procédures principales de la classe Chart sont Activate, Copy, Delete, Select, Sheets.Add, Sheets.Copy, Sheets.Delete et Sheets.Select

Set

Pour utiliser une variable de classe Chart, elle doit d'abord être instanciée, par exemple

Dim chr as Chart
Set chr = ActiveChart

Les procédures suivantes peuvent être utilisés pour définir des variables de la classe Chart : Application.ActiveChart, Location, ChartObject.Chart, Shape.Chart, ShapeRange.Chart, Sheets.Item, Sheets.Item, Sheets.Add, Sheets.Add, Sheets.Visible, Sheets.Visible, Window.ActiveChart, Workbook.ActiveChart, Worksheets.Add, Application.Charts, Application.Sheets, Application.Worksheets, Window.SelectedSheets, Workbook.Charts, Workbook.Sheets et Workbook.Worksheets

For Each

Voici un exemple de traitement des éléments Chart dans une collection

Dim chr As Chart
For Each chr In Charts
	
Next chr

Thèmes

Certaines procédures de cette classe ont été regroupées en thèmes et sont décrites sur des pages thématiques séparées

Name with its procedures ChartTitle, CodeName, HasTitle et SeriesNameLevel
Copy with its procedures Copy, CopyPicture et Sheets.Copy
Display/Show with its procedures DisplayBlanksAs, ShowAllFieldButtons, ShowAxisFieldButtons, ShowDataLabelsOverMaximum, ShowExpandCollapseEntireFieldButtons, ShowLegendFieldButtons et ShowValueFieldButtons
Export with its procedures Export et ExportAsFixedFormat
Print with its procedures PageSetup, PrintedCommentPages, PrintOut, PrintPreview, Sheets.HPageBreaks, Sheets.PrintOut, Sheets.PrintPreview et Sheets.VPageBreaks
Protect with its procedures Protect et Unprotect
Select with its procedures Select et Sheets.Select

Méthodes

Les méthodes principales de la classe Chart sont

Activate -

ActiveChart.Activate

Delete - Cette méthode supprime l'objet.

ActiveChart.Delete

Sheets.Add - Crée une nouvelle feuille de calcul, graphique ou macro. La nouvelle feuille de calcul devient la feuille active.

Dim ws As Worksheet
Set ws = Charts.Add

Sheets.Delete - Cette méthode supprime l’objet.

Charts.Delete

Autre Méthodes

ApplyChartTemplate - Applique un type de graphique standard ou personnalisé à un graphique.

ApplyDataLabels - Cette méthode applique des étiquettes de données à toutes les séries d’un graphique.

ApplyLayout - Cette méthode applique les mises en page proposées dans le Ruban.

Axes - Renvoie un objet représentant soit un axe unique, soit une collection d'axes du graphique.

ChartGroups - Renvoie un objet qui représente soit un seul groupe de graphiques (un objet ChartGroup ), soit une collection de tous les groupes de graphiques dans le graphique (un objet ChartGroups ). La collection renvoyée inclut tous les types de groupes.

ChartObjects - Renvoie un objet qui représente soit un seul graphique incorporé (un objet ChartObject ), soit une collection de tous les graphiques incorporés (un objet ChartObjects ) de la feuille.

ChartWizard - Cette méthode modifie les propriétés d'un graphique déterminé. Vous pouvez utiliser cette méthode pour mettre rapidement en forme un graphique sans définir individuellement toutes ses propriétés. Cette méthode n'est pas interactive et elle modifie uniquement les propriétés spécifiées.

CheckSpelling - Vérifie l'orthographe d'un objet.

ClearToMatchColorStyle - Cette méthode efface toutes les couleurs du graphique spécifié qui ne suivent pas le style de couleur appliqué au graphique.

ClearToMatchStyle - Cette méthode redéfinit la mise en forme automatique des éléments de graphique.

Evaluate - Cette méthode convertit un nom Microsoft Excel en un objet ou une valeur.

FullSeriesCollection - Permet de récupérer la série filtrée spécifiée par l'argument index .

GetChartElement - Renvoie des informations sur l'élément de graphique aux coordonnées x et y spécifiées. Cette méthode est particulière en ce sens que vous ne spécifiez que les valeurs des deux premiers arguments. Microsoft Excel complète les autres arguments et c'est votre code qui examine ces valeurs lorsque la méthode renvoie son résultat.

Location - Déplace le graphique vers un nouvel emplacement.

Move - Cette méthode déplace le graphique à un autre emplacement du classeur.

OLEObjects - Renvoie un objet qui représente soit un seul objet OLE ( OLEObject), soit une collection de tous les objets OLE (une collection OLEObjects ) sur le graphique ou la feuille. En lecture seule.

Paste - Colle les données du graphique à partir du Presse-papiers dans le graphique spécifié.

Refresh - Cette méthode redessine immédiatement le graphique spécifié.

SaveAs - Cette méthode enregistre dans un autre fichier les modifications effectuées sur le graphique ou la feuille de calcul.

SaveChartTemplate - Enregistre un modèle de graphique personnalisé dans la liste des modèles de graphique disponibles.

SeriesCollection - Renvoie un objet qui représente soit une seule série (un objet Series ), soit une collection de toutes les séries (une collection SeriesCollection ) dans le graphique ou le groupe de graphiques.

SetBackgroundPicture - Cette méthode définit le graphique de l'arrière-plan d'un graphique.

SetDefaultChart - Cette énumération spécifie le nom du modèle de graphique que Microsoft Excel utilise lors de la création de nouveaux graphiques.

SetElement - Définit les éléments dans un graphique de graphique. En lecture/écriture MsoChartElementType.

SetProperty -

SetSourceData - Définit la plage de données sources du graphique.

Sheets.FillAcrossSheets - Cette méthode copie une plage dans la même zone de toutes les autres feuilles de calcul d'une collection.

Sheets.Move - Cette méthode déplace la feuille à un autre endroit du classeur.

Propriétés

AutoScaling La valeur true si Microsoft Excel met à l'échelle un graphique en 3D de sorte qu'il soit plus proche en taille du graphique 2D équivalent. La propriété RightAngleAxes doit avoir la valeur True. Boolean (en lecture/écriture).

ActiveChart.AutoScaling = True

BackWall Renvoie un objet Walls qui permet à l'utilisateur de mettre en forme individuellement le mur arrière d'un graphique en 3D. En lecture seule.

Dim wllsBackWall As Walls
Set wllsBackWall = ActiveChart.BackWall

BarShape Cette propriété renvoie ou définit la forme utilisée avec la barre 3D ou le graphique en histogrammes. En lecture/écriture XlBarShape.

ActiveChart.BarShape = xlBox

CategoryLabelLevel Renvoie une constante XlCategoryLabelLevel qui fait référence au niveau d'origine des étiquettes de catégorie. Type de données Integer en lecture-écriture.

ActiveChart.CategoryLabelLevel = xlCategoryLabelLevelAll

ChartArea Renvoie un objet ChartArea qui représente la zone de graphique complète pour le graphique. En lecture seule.

Dim caaChartArea As ChartArea
Set caaChartArea = ActiveChart.ChartArea

ChartColor Cette propriété renvoie ou définit un entier qui représente le jeu de couleurs du graphique. Lecture-écriture.

ActiveChart.ChartColor =

ChartStyle Cette propriété renvoie ou définit le style de graphique du graphique. Variant en lecture/écriture.

ActiveChart.ChartStyle =

ChartType Renvoie ou définit le type de graphique. Énumération XlChartType en lecture-écriture.

ActiveChart.ChartType = xl3DArea

DataTable Renvoie un objet DataTable qui représente la table de données du graphique. En lecture seule.

Dim dteDataTable As DataTable
Set dteDataTable = ActiveChart.DataTable

DepthPercent Cette propriété renvoie ou définit la profondeur d'un graphique en 3D sous la forme d'un pourcentage de la largeur du graphique (entre 20 et 2000 pour cent). Type de données Long en lecture-écriture.

ActiveChart.DepthPercent =

DisplayValueNotAvailableAsBlank

ActiveChart.DisplayValueNotAvailableAsBlank = True

Elevation Cette propriété renvoie ou définit l'altitude de l'affichage de graphique en 3D, en degrés. Type de données Long en lecture-écriture.

ActiveChart.Elevation =

Floor Renvoie un objet Floor qui représente le plancher du graphique en 3D. En lecture seule.

Dim flrFloor As Floor
Set flrFloor = ActiveChart.Floor

GapDepth Cette propriété renvoie ou définit la distance entre les séries de données d’un graphique en 3D sous la forme d’un pourcentage de la largeur de marque. La valeur de cette propriété doit être comprise entre 0 et 500. Long (en lecture/écriture).

ActiveChart.GapDepth =

HasAxis Cette propriété renvoie ou définit quels sont les axes existants du graphique. Variant en lecture/écriture.

ActiveChart.HasAxis = True

HasDataTable Cette propriété a la valeur True si le graphique possède une table de données. Boolean (en lecture/écriture).

ActiveChart.HasDataTable = True

HasLegend Cette propriété a la valeur True si le graphique possède une légende. Boolean (en lecture/écriture).

ActiveChart.HasLegend = True

HeightPercent Cette propriété renvoie ou définit la hauteur d'un graphique en 3D sous la forme d'un pourcentage de la largeur du graphique (entre 5 et 500 pour cent). Long (en lecture/écriture).

ActiveChart.HeightPercent =

Hyperlinks Renvoie une collection Hyperlinks qui représente les liens hypertexte du graphique.

Dim hypsHyperlinks As Hyperlinks
Set hypsHyperlinks = ActiveChart.Hyperlinks

Index Cette propriété renvoie une valeur de type Long qui représente le numéro d'index de l'objet au sein de la collection d'objets similaires.

Dim lngIndex As Long
lngIndex = ActiveChart.Index

Legend Renvoie un objet Legend qui représente la légende du graphique. En lecture seule.

Dim lgnLegend As Legend
Set lgnLegend = ActiveChart.Legend

MailEnvelope Représente un en-tête de message électronique pour un document.

Dim meeMailEnvelope As Office.MsoEnvelope
Set meeMailEnvelope = ActiveChart.MailEnvelope

Name Cette propriété renvoie ou définit une valeur de type String qui représente le nom de l'objet.

ActiveChart.Name =

Next Renvoie un objet Worksheet qui représente la feuille suivante.

Dim wsNext As Worksheet
Set wsNext = ActiveChart.Next

Parent Renvoie l’objet parent pour l’objet spécifié. En lecture seule.

Dim objParent As Object
Set objParent = ActiveChart.Parent

Perspective Cette propriété renvoie ou définit une valeur de type long qui représente la perspective de l'affichage de graphique 3D.

ActiveChart.Perspective = 70

PivotLayout Renvoie un objet PivotLayout qui représente le positionnement des champs dans un rapport de tableau croisé dynamique et l'emplacement des axes dans un rapport de graphique croisé dynamique. En lecture seule.

Dim pltPivotLayout As PivotLayout
Set pltPivotLayout = ActiveChart.PivotLayout

PlotArea Renvoie un objet PlotArea qui représente la zone de traçage d'un graphique. En lecture seule.

Dim paaPlotArea As PlotArea
Set paaPlotArea = ActiveChart.PlotArea

PlotBy Renvoie ou spécifie la façon dont les colonnes ou les lignes sont utilisées comme séries de données sur le graphique. Il peut s'agir de l'une des constantes XlRowCol suivantes: xlColumns ou xlRows. Long (en lecture/écriture).

ActiveChart.PlotBy = xlColumns

PlotVisibleOnly True si seules les cellules visibles sont tracées. False si les cellules visibles et masquées sont tracées. Boolean (en lecture/écriture).

ActiveChart.PlotVisibleOnly = True

Previous Renvoie un objet Worksheet qui représente la feuille précédente.

Dim wsPrevious As Worksheet
Set wsPrevious = ActiveChart.Previous

ProtectContents Cette propriété renvoie la valeur True si le contenu de la feuille est protégé. Pour un graphique, cela protège le graphique entier. Pour activer la protection du contenu, utilisez la méthode Protect avec l'argument content défini sur true. Boolean (en lecture seule).

Dim booProtectContents As Boolean
booProtectContents = ActiveChart.ProtectContents

ProtectData Cette propriété a la valeur True si les formules des séries ne peuvent pas être modifiées par l'utilisateur. Boolean (en lecture/écriture).

ActiveChart.ProtectData = True

ProtectDrawingObjects Cette propriété renvoie la valeur True si les formes sont protégées. Pour activer la protection des formes, utilisez la méthode Protect avec l'argument DrawingObjects défini sur true. Boolean (en lecture seule).

Dim booProtectDrawingObjects As Boolean
booProtectDrawingObjects = ActiveChart.ProtectDrawingObjects

ProtectFormatting Cette propriété a la valeur True si la mise en forme du graphique ne peut pas être modifiée par l'utilisateur. Boolean (en lecture/écriture).

ActiveChart.ProtectFormatting = True

ProtectionMode Cette propriété renvoie la valeur True si la protection Interface utilisateur seulement est activée. Pour activer la protection de l’interface utilisateur, utilisez la méthode Protect avec l’argument InterfaceUtilisateurUniquement défini sur true. Boolean (en lecture seule).

Dim booProtectionMode As Boolean
booProtectionMode = ActiveChart.ProtectionMode

ProtectSelection Cette propriété a la valeur True si les éléments d'un graphique ne peuvent pas être sélectionnés. Boolean (en lecture/écriture).

ActiveChart.ProtectSelection = True

RightAngleAxes Cette propriété a la valeur True si les axes du graphique se coupent à angle droit, quelle que soit la rotation ou l’élévation du graphique. S’applique uniquement aux graphiques en courbes, en histogrammes et en barres. Boolean (en lecture/écriture).

ActiveChart.RightAngleAxes = True

Rotation Cette propriété renvoie ou définit la rotation de l'affichage graphique 3D (la rotation de la zone de traçage autour de l'axe z, en degrés). La valeur de cette propriété doit être comprise entre 0 et 360, à l'exception des graphiques à barres 3D, où la valeur doit être comprise entre 0 et 44. La valeur par défaut est 20. S'applique uniquement aux graphiques 3D. Variant en lecture/écriture.

ActiveChart.Rotation =

Shapes Renvoie une collection Shapes qui représente toutes les formes de la feuille de graphique. En lecture seule.

Dim shpsShapes As Shapes
Set shpsShapes = ActiveChart.Shapes

ShowReportFilterFieldButtons Renvoie ou définit si tous les boutons de champ de filtre de rapport d'un graphique croisé dynamique doivent être affichés. En lecture-écriture.

ActiveChart.ShowReportFilterFieldButtons = True

SideWall Renvoie un objet Walls qui permet à l'utilisateur de mettre en forme individuellement le mur latéral d'un graphique en 3D. En lecture seule.

Dim wllsSideWall As Walls
Set wllsSideWall = ActiveChart.SideWall

Tab Renvoie un objet Tab pour un graphique.

Dim tabTab As Tab
Set tabTab = ActiveChart.Tab

Visible Cette propriété renvoie ou définit une valeur XlSheetVisibility qui détermine si l'objet est visible.

ActiveChart.Visible = xlSheetHidden

Walls Renvoie un objet Walls qui représente les murs du graphique en 3D. En lecture seule.

Dim wllsWalls As Walls
Set wllsWalls = ActiveChart.Walls

Sheets.Count Cette propriété renvoie une valeur de type Long qui représente le nombre d’objets de la collection.

Dim lngCount As Long
lngCount = Charts.Count

Sheets.Item Cette méthode renvoie un seul objet d'une collection.

Dim chrItem As Chart
Set chrItem = Charts(Index:=1)

Sheets.Parent Renvoie l’objet parent pour l’objet spécifié. En lecture seule.

Dim wbParent As Workbook
Set wbParent = Charts.Parent

Sheets.Visible Cette propriété renvoie ou définit une valeur de type Variant qui détermine si l'objet est visible.

Charts.Visible = True