Partager via


Cell.Precedents, propriété (Visio)

Renvoie un tableau de cellules ShapeSheet dont dépend la formule d’une autre cellule. En lecture seule.

Syntaxe

expression. Précédents

Expression Variable qui représente un objet Cell .

Valeur renvoyée

Cell()

Remarques

La propriété Precedents renvoie un tableau des cellules qui entraînent le recalcul de la valeur de l’objet Parent Cell lorsque leur formule ou valeur change.

Exemple

La macro Microsoft Visual Basic pour Applications (VBA) suivante montre comment utiliser la propriété Precedents pour afficher une liste de cellules dont dépend la cellule « Scratch.X1 » d’une forme. La macro dessine un rectangle sur la page active, ajoute une section Scratch à la feuille ShapeSheet du rectangle, puis entre une formule dans une cellule de cette section qui est utilisée pour incliner les côtés du rectangle vers l’intérieur, en remplaçant chacun des rectangles en arc. Étant donné que la formule utilisée pour incliner les côtés du rectangle dépend de la largeur et de la hauteur du rectangle, la cellule qui contient la formule, Scratch.X1, dépend des cellules Width et Height de la forme rectangle, ce qui fait de ces cellules des précédents.

Public Sub Precedents_Example() 
 
 Dim acellPrecedentCells() As Visio.Cell 
 Dim vsoCell As Visio.Cell 
 Dim vsoShape As Visio.Shape 
 Dim strBowCell As String 
 Dim strBowFormula As String 
 Dim intCounter As Integer 
 
 'Set the value of the strBowCell string 
 strBowCell = "Scratch.X1" 
 
 'Set the value of the strBowFormula string 
 strBowFormula = "=Min(Width, Height) / 5" 
 
 'Draw a rectangle on the active page 
 Set vsoShape = ActivePage.DrawRectangle(1, 5, 5, 1) 
 
 'Add a scratch section and then 
 vsoShape.AddSection visSectionScratch 
 
 'Add a row to the scratch section 
 vsoShape.AddRow visSectionScratch, visRowScratch, 0 
 
 'Place the value of strBowFormula into Scratch.X1 
 'Set the Cell object to the Scratch.X1 and set formula 
 Set vsoCell = vsoShape.Cells(strBowCell) 
 
 'Set up the offset for the arc 
 vsoCell.Formula = strBowFormula 
 
 'Bow in or curve the original rectangle's lines by changing 
 'each row to an arc and entering the bow value 
 For intCounter = 1 To 4 
 
 vsoShape.RowType(visSectionFirstComponent, visRowVertex + intCounter) = visTagArcTo 
 Set vsoCell = vsoShape.CellsSRC(visSectionFirstComponent, visRowVertex + intCounter, 2) 
 vsoCell.Formula = "-" & strBowCell 
 
 Next intCounter 
 
 'Get the array of precedent cells 
 acellPrecedentCells = vsoShape.Cells("Scratch.X1").Precedents 
 
 'List the cell names and their associated formula 
 For intCounter = LBound(acellPrecedentCells) To UBound(acellPrecedentCells) 
 Set vsoCell = acellPrecedentCells(intCounter) 
 Debug.Print vsoCell.Name & " has this formula: " & vsoCell.Formula 
 Next 
 
End Sub

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.