Partager via


Objet Chart (Project)

L’objet Chart représente un graphique sur un rapport dans Project.

Remarques

L’objet Chart dans Project inclut les membres standard que d’autres applications Office implémentent pour Office Art. Par exemple, consultez l’objet Chart dans le modèle objet VBA pour Word, Excel et PowerPoint.

Dans Project, un graphique est représenté par un objet Chart , qui est contenu par un objet Shape ou une collection ShapeRange dans un objet Report . Pour obtenir un diagramme montrant l’objet Chart dans la hiérarchie du modèle objet Project, consultez Mappage d’objets Application et Projects.

Remarque

L’enregistrement de macro pour l’objet Chart n’est pas implémenté. Autrement dit, lorsque vous enregistrez une macro dans Project et ajoutez manuellement un graphique, ajoutez des éléments de graphique ou mettez en forme manuellement un graphique dans un rapport, les étapes d’ajout et de manipulation du graphique ne sont pas enregistrées.

Utilisez la méthode Shapes.AddChart pour ajouter un graphique à un rapport. Pour déterminer si un Shape ou un ShapeRange contient un graphique, utilisez la méthode HasChart .

L’objet Chart dans Project n’implémente pas les événements. Par conséquent, un graphique dans Project ne peut pas être animé pour interagir avec des événements de souris ou répondre à des événements tels que Select ou Calculate, comme c’est possible dans Excel.

Exemple

L’exemple suivant crée un graphique scalaire simple pour les tâches du projet actif. Le graphique affiche les champs Travail réel, Travail restant et Travail par défaut.

Pour créer des exemples de données, ajoutez quatre tâches à un nouveau projet, affectez des ressources locales à ces tâches et définissez différentes valeurs de durée et de travail réel. Par exemple, essayez les valeurs du tableau 1.

Tableau 1. Exemples de données pour un graphique simple

Nom de la tâche Duration Travail réel
T1 2d 16
T2 5d 19
T3 4d 7
T4 2d 0
Sub AddSimpleScalarChart()
    Dim chartReport As Report
    Dim reportName As String
    
    ' Add a report.
    reportName = "Simple scalar chart"
    Set chartReport = ActiveProject.Reports.Add(reportName)

    ' Add a chart.
    Dim chartShape As Shape
    Set chartShape = ActiveProject.Reports(reportName).Shapes.AddChart()
    
    chartShape.Chart.SetElement (msoElementChartTitleCenteredOverlay)
    chartShape.Chart.ChartTitle.Text = "Sample Chart for the Test1 project"
End Sub

Lorsque vous exécutez la macro AddSimpleScalarChart , Project crée le rapport et ajoute un graphique. Le graphique a des fonctionnalités par défaut, sauf que le titre est spécifié par la propriété SetElement à superposer sur le graphique, au lieu de la position par défaut au-dessus du graphique.

Figure 1. Le graphique affiche les données du tableau 1

Graphique scalaire simple dans un rapport Pour supprimer le graphique, vous pouvez supprimer la forme qui contient le graphique. La macro suivante supprime le graphique sur le rapport créé par la macro AddSimpleScalarChart et laisse le rapport vide comme affichage actif.

Sub DeleteTheShape()
    Dim i As Integer
    Dim reportName As String
    Dim theShape As MSProject.Shape
    
    reportName = "Simple scalar chart"
        
    For i = 1 To ActiveProject.Reports.Count
        If ActiveProject.Reports(i).Name = reportName Then
            Set theShape = ActiveProject.Reports(i).Shapes(1)
            theShape.Delete
        End If
    Next i
End Sub

Pour supprimer le rapport, accédez à une autre vue, puis ouvrez la boîte de dialogue Organisateur . Vous ne pouvez pas supprimer un rapport tant qu’il est actif. L’organisateur est disponible sous l’onglet DÉVELOPPEUR du ruban, ainsi que sous l’onglet CRÉATION, dans le groupe Rapport, dans le menu Gérer. Sous l’onglet Rapports de la boîte de dialogue Organisateur , sélectionnez Graphique scalaire simple dans le volet du projet, puis choisissez Supprimer. Vous pouvez également exécuter la macro suivante pour supprimer le rapport.

Sub DeleteTheReport()
    Dim i As Integer
    Dim reportName As String
    
    reportName = "Simple scalar chart"

    ' To delete the active report, change to another view.
    ViewApplyEx Name:="&Gantt Chart"
    
    ActiveProject.Reports(reportName).Delete
End Sub

Méthodes

Nom
ApplyChartTemplate
ApplyCustomType
ApplyDataLabels
ApplyLayout
AutoFormat
Axes
ChartWizard
ClearToMatchColorStyle
ClearToMatchStyle
Copier
CopyPicture
Supprimer
Export
GetChartElement
Refresh
RefreshPivotTable
SaveChartTemplate
Select
SeriesCollection
SetDefaultChart
SetElement
SetSourceData
UpdateChartData

Propriétés

Nom
Application
AutoScaling
BackWall
BarShape
ChartArea
ChartColor
ChartData
ChartGroups
ChartStyle
ChartTitle
ChartType
Creator
DataTable
DepthPercent
DisplayBlanksAs
Elevation
Floor
Format
GapDepth
HasAxis
HasDataTable
HasLegend
HasTitle
HeightPercent
Legend
Parent
Perspective
PivotLayout
PlotArea
PlotBy
PlotVisibleOnly
RightAngleAxes
Rotation
Shapes
ShowAllFieldButtons
ShowAxisFieldButtons
ShowDataLabelsOverMaximum
ShowLegendFieldButtons
ShowReportFilterFieldButtons
ShowValueFieldButtons
SideWall
Walls

Voir aussi

Shape, objet

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.