tableau croisé dynamique

T

Thierry

Bonjour,

j'ai un tableau croisé dynamique avec un champ "Date" et j'aimerai changer
les données
de chaques Items afin d'avoir l'exercice fiscal sous la forme "2002-2003"
par exemple.
En sachant que la date de cloture est le 31 mars.

Pour cela j'ai écrit la macro suivante :

1 Dim exercice As String
2 Dim DateFacture As Date
3 Dim ItemCount As Integer

4 ItemCount =
Worksheets(1).PivotTables(1).PivotFields("Date").PivotItems.Count

5 For l = 1 To ItemCount

6 DateFacture =
Worksheets(1).PivotTables(1).PivotFields("Date").PivotItems(l).Name

7 If Day(DateFacture) <= 31 And Month(DateFacture) <= 3 Then
8 exercice = Str$(Year(DateFacture) - 1) + " -" + Str$(Year(DateFacture))
9 Else
10 exercice = Str$(Year(DateFacture)) + " -" + Str$(Year(DateFacture) + 1)
11 End If
12 Worksheets(1).PivotTables(1).PivotFields("Date").PivotItems(l).Name =
exercice
13 Next l


Celà me renvoi une erreure d'exécution 1004
"Impossible de définir la propriété Name de la classe PivotItem.
en ligne 12.

Où est l'erreure ?

Merci d'avance pour votre aide.

Thierry.
 
T

TroyW

Thierry,

Bonjour,

Veuillez excuser mon français, j'utilise un traducteur pour convertir de
l'anglais.

L'erreur est provoquée en retitrant deux articles de pivot avec le même nom.
Chaque article de pivot doit avoir un nom unique. Votre macro retitrera un
article en tant que "2002 - 2003" et alors il retitrera le prochain article
en tant que "2002 - 2003". Ceci n'est pas permis.

Pouvez-vous ajouter une autre colonne à vos données où vous calculez
l'exercice budgétaire de la date de facture? Cette formule calculera-t-elle
correctement l'exercice budgétaire, supposant que la date de facture est la
colonne B?

A11: =IF(AND(DAY(B11)<=31,MONTH(B11)<=3),YEAR(B11)-1,YEAR(B11))

Employez alors cet exercice budgétaire calculé dans le Tableau de pivot.

Troy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top