Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Element calculé - Tableau Croisé Dynamique - Pivotformula

3 réponses
Avatar
split21
Je cherche à ajouter un élément calculé à un tableau croisé dynamique (non
basé sur une source OLAP) et j'ai du mal.

J'arrive bien à afficher les formules d'éléments calculés existants :

Dim pvtTable As PivotTable

Set pvtTable = ActiveSheet.PivotTables("Ancien/Nouveau")

MsgBox pvtTable.PivotFormulas(2).Value

Et j'obtiens : "Nouveau = '200605' + '200604'"

Mais impossible d'ajouter un nouvel élément calculé avec la syntaxe

pvtTable.PivotFormulas.Add "Formula"

Je n'arrive pas à touver une quelconque aide sur la syntaxe "Formula" de la
formule à ajouter.

3 réponses

Avatar
MichDenis
Un exemple de code :

Exemple tiré de
Stephen bullen - CD- "Excel 2002 Programmer's Reference"

'------------------------------------------
Sub CalculateAveragePrice()
Dim PT As PivotTable

'Add new Worksheet and PivotTable
' Worksheets.Add
Set PT = ActiveWorkbook.PivotCaches(1).CreatePivotTable( _
TableDestination:¬tiveCell, TableName:="AveragePrice")
With PT

'Remove AveragePrice if it exists
On Error Resume Next
.PivotFields("AveragePrice").Delete
On Error GoTo 0

'Create new AveragePrice
.CalculatedFields.Add Name:="AveragePrice", _
Formula:="=Revenue/NumberSold"

'Add Row and Column fields
.AddFields RowFields:="Customer", ColumnFields:="Product"

'Add AveragePrice as Data field
With .PivotFields("AveragePrice")
.Orientation = xlDataField
.NumberFormat = "0.00"
End With

'Remove grand totals
.ColumnGrand = False
.RowGrand = False

End With

End Sub
'--------------------------------------




"split21" a écrit dans le message de news:


Je cherche à ajouter un élément calculé à un tableau croisé dynamique (non
basé sur une source OLAP) et j'ai du mal.

J'arrive bien à afficher les formules d'éléments calculés existants :

Dim pvtTable As PivotTable

Set pvtTable = ActiveSheet.PivotTables("Ancien/Nouveau")

MsgBox pvtTable.PivotFormulas(2).Value

Et j'obtiens : "Nouveau = '200605' + '200604'"

Mais impossible d'ajouter un nouvel élément calculé avec la syntaxe

pvtTable.PivotFormulas.Add "Formula"

Je n'arrive pas à touver une quelconque aide sur la syntaxe "Formula" de la
formule à ajouter.
Avatar
split21
Merci beaucoup mais mon problème concerne les Pivotformulas.

Tiré de la MSDN :

"Add method as it applies to the PivotFormulas object.

Creates a new PivotTable formula. Returns a PivotFormula object.

expression.Add(Formula, UseStandardFormula)

expression Required. An expression that returns one of the above objects.

Formula Required String. The new PivotTable formula.

UseStandardFormula Optional Variant. A standard PivotTable formula."


Il n'y a pas de notion de "name". Je ne sais pas s'il faut spécifier le nom
de l'élément calculé dans la "Formula", du genre "Name = 'Element1' +
'Element2'". C'est ce que j'obtiens quand j'affiche la valeur d'un élément
créé à la main, mais je n'arrive pas à le faire par du code.

Si vous trouvez un exemple de code contenant un "Pivotformulas.add" , merci
d'avance ;)
Avatar
MichDenis
Je n'ai aucune idée comment utiliser la méthode Add de l'objet "PivotFormulas"

Si tu écrivais à gros Bill pour lui dire tout le bien que tu penses de l'aide d'excel !!!

Je ne sais pas ce que tu tentes de faire, mais le truc dont tu parles ne doit pas servir à grand
chose
si ce n'est de faire ch..er les usagers. Même google est silencieux sur le sujet !

Si tu trouves autre chose que les niaiseries que Microsoft a écrit sur le sujet,
une bonne idée serait de revenir pour partager tes trouvailles.



"split21" a écrit dans le message de news:

Merci beaucoup mais mon problème concerne les Pivotformulas.

Tiré de la MSDN :

"Add method as it applies to the PivotFormulas object.

Creates a new PivotTable formula. Returns a PivotFormula object.

expression.Add(Formula, UseStandardFormula)

expression Required. An expression that returns one of the above objects.

Formula Required String. The new PivotTable formula.

UseStandardFormula Optional Variant. A standard PivotTable formula."


Il n'y a pas de notion de "name". Je ne sais pas s'il faut spécifier le nom
de l'élément calculé dans la "Formula", du genre "Name = 'Element1' +
'Element2'". C'est ce que j'obtiens quand j'affiche la valeur d'un élément
créé à la main, mais je n'arrive pas à le faire par du code.

Si vous trouvez un exemple de code contenant un "Pivotformulas.add" , merci
d'avance ;)