Partager via


Shapes.AddTable, méthode (Project)

Ajoute une table au rapport et renvoie un objet Shape qui représente le tableau.

Syntaxe

expression. AddTable(NumRows,NumColumns,Left,Top,Width,Height)

expression Variable qui représente un objet Shapes.

Paramètres

Nom Requis/Facultatif Type de données Description
NumRows Obligatoire Long Nombre de lignes du tableau. NumRows est ignoré lors de la création d’une table.
NumColumns Obligatoire Long Nombre de colonnes du tableau. NumColumns est ignoré lors de la création d’une table.
Left Obligatoire Unique Bord gauche (en points) de la table, par rapport au côté gauche du volet rapport.
Top Obligatoire Unique Bord supérieur (en points) de la table, par rapport au haut du volet de rapport.
Width Obligatoire Unique Largeur du tableau, en points.
Height Obligatoire Unique Hauteur de la table, en points.
NumRows Obligatoire INT
NumColumns Obligatoire INT
Left Obligatoire FLOAT
Top Obligatoire FLOAT
Width Obligatoire FLOAT
Height Obligatoire FLOAT
Nom Requis/Facultatif Type de données Description

Valeur renvoyée

Forme

Remarques

Project ignore NumRows et NumColumns lorsque la méthode AddTable crée une table. Lorsqu’une table est créée, elle comporte une ligne et une colonne, qui contient le texte Utilisez le volet de tâches Données de table pour générer une table (voir la figure 1). Lorsque vous sélectionnez la table, Project affiche le volet Office données de la table nommé Liste des champs, avec TASKS sélectionné par défaut. À l’aide du volet Office Liste de champs, vous pouvez ajouter manuellement des champs au rapport.

Figure 1. La méthode AddTable crée une table avec une ligne et une colonne

Utilisation de la méthode AddTable

Exemple

La macro TestReportTable crée la table illustrée dans la figure 1, puis sélectionne la table pour afficher le volet Office Données de la table.

Sub TestReportTable()
    Dim theReport As Report
    Dim tableShape As shape
    Dim theReportTable As ReportTable
    Dim reportName As String
    Dim tableName As String
    Dim rows As Integer
    Dim columns As Integer
    Dim left As Integer
    Dim top As Integer
    Dim width As Integer
    Dim height As Integer
    
    reportName = "Table Report"
    Set theReport = ActiveProject.Reports.Add(reportName)
    
     ' Add the table.
    tableName = "Task information"
    rows = 0
    columns = 0
    left = 0
    top = 30
    width = 110
    height = 20
       
    ' Project ignores the NumRows and NumColumns parameters when
    ' creating a ReportTable.
    Set tableShape = theReport.Shapes.AddTable(rows, columns, _
                        left, top, width, height)
    
    tableShape.Name = tableName
    tableShape.Select
    Set theReportTable = tableShape.Table
    
    With theReportTable
        Debug.Print "Rows: " & .RowsCount
        Debug.Print "Columns: " & .ColumnsCount
        Debug.Print "Cell 1,1 contents:" & vbCrLf & vbTab; .GetCellText(1, 1)
    End With
End Sub

Pour spécifier les champs de la table, utilisez la méthode UpdateTableData . Ajoutez le code suivant après la Set theReportTable = tableShape.Table ligne de la macro précédente. Le paramètre OutlineLevel spécifie les tâches de niveau 1 et filtre la tâche récapitulative du projet.

    ' Set fields for the table.
    Dim fieldArray(1 To 6) As PjField
        
    fieldArray(1) = pjTaskName
    fieldArray(2) = pjTaskStart
    fieldArray(3) = pjTaskFinish
    fieldArray(4) = pjTaskPercentComplete
    fieldArray(5) = pjTaskActualCost
    fieldArray(6) = pjTaskRemainingCost
        
    theReportTable.UpdateTableData Task:=True, OutlineLevel:=1, SafeArrayOfPjField:=fieldArray

Exécutez la macro TestReportTable modifiée sur un projet qui a quatre tâches avec différentes valeurs pour le pourcentage de coûts de ressources et le pourcentage d’achèvement. La figure 2 est un exemple des résultats de la table.

Figure 2. La méthode UpdateTableData peut ajouter des champs à une table

Mise à jour d’une table avec la méthode UpdateTableData

Voir aussi

Shapes, objetShape ObjectApplication.Table, méthode

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.