Format cellule TCD

Résolu
cs_mayga Messages postés 30 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 11 juillet 2011 - 9 juil. 2011 à 12:32
cs_mayga Messages postés 30 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 11 juillet 2011 - 11 juil. 2011 à 09:39
Bonjour à tous,

Je suis sous Excel 2003.
J'aimerais savoir comment modifier le format des cellules contenues dans un TCD, car lorsque que j'actualise celui-ci il retourne à sa forme d'origine à chaque fois.

11 réponses

cs_mayga Messages postés 30 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 11 juillet 2011
11 juil. 2011 à 09:39
Ok, j'ai enfin réussi.
En fait, le problème vient du fait que mes colonnes "Somme de..." ne sont pas dans la listes des PivotFields de mon TCD. (J'avais crée une procédure pour énumérer tous les Pivotfields de mon TCD (.count) et la liste s’arrêtait à "Données")
Il faut donc pour pouvoir agir sur les colonnes "Somme de ....", trouver le .caption du PivotItems et le transférer dans mon PivotFields à modifier, ce qui ressemble à peu près a ça:
Activesheet.PivotTables(1).Pivotfields(PivotFields("Données").PivotItems(1).caption).NumberFormat = "#,##0"


Je n'ai pas encore testé, mais l'idée est la.
Merci encore pour votre soutien.
3
cs_mayga Messages postés 30 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 11 juillet 2011
9 juil. 2011 à 13:09
J’essaie comme ceci :
Activesheet.PivotTables(1).Pivotfields("X").DataRange.NumberFormat = "#,##0"


Je n'ai aucun message d'erreur mais l'affichage ne change pas dans le TCD.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 juil. 2011 à 08:18
Bonjour,

Il s'agit d'un TCD.
Ce ne sont pas tes cellules, qu'il te faut formater, mais tes champs.
Genre :

ActiveSheet.PivotTables("Nom_du_TCD").PivotFields("toto").NumberFormat = "# ##0 €"




____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 juil. 2011 à 08:35
Et tiens :

Cette Discussion, sur laquelle Google vient de me conduire à ma demande (juste pour en trouver une), traite exactement du même "problème".

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_mayga Messages postés 30 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 11 juillet 2011
10 juil. 2011 à 11:32
Bonjour,
Merci pour la réponse.
Mais j'avais déjà essayé d'appliquer cette méthode.
=> erreur d'exécution 1004
Je suis allé voir dans l'explorateur d'objet pour les PivotFields et je n'ai vu aucune propriété correspondant à NumberFormat.
J'ai essayé d'appliquer également à PivotTables, et PivotItems idem erreur.
J'ai également essayé PivotFields.Datarange : là pas de message d'erreur mais l'affichage ne change pas.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 juil. 2011 à 11:49
Ben, moi, lorsque j'ouvre l'aide VBA sur l'objet PivotField (PivotField = membre de la collection PivotFields), puis que je clique sur l'onglet Propriétés, la propriété NumberFormat figure bbien dans la liste déroulante obtenue !

Mystère (chez toi) , donc ?

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
cs_mayga Messages postés 30 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 11 juillet 2011
10 juil. 2011 à 12:48
En effet,
l'objet PivotField possède bien une propriété NumberFormat, je regardais dans la collection PivotFields.
Toujours est il que j'obtiens un message d'erreur.

J'ai essayé ceci : Déclaration variable a as PivotField
With ActiveSheet.PivotTables(1)
Set a = .PivotFields("Données")


J'ai ensuite ajouter un espion a.
Quand je regarde les propriétés de a (en cours d'exécution), un PivotField est bien affecté à a mais quand je regarde le détail, je ne peux pas donner la liste mais il y a beaucoup de propriétés ou il y a marquer "erreur".

Peut être que le problème vient de la conception de mon TCD.
Lors de la création, j'ai glissé mes champs dans la partie "DONNEES" et pour la présentation ai ensuite glissé "DONNEES" dans la partie "COLONNE".
Donc mon PivotField("Données") comportes plusieurs PivotItems (réparties dans les colonnes de mon TCD) J'ai une colonne avec Val1, une colonne avec Val2 ect...
Et imaginons que je ne veuille modifier que le format de la colonne Val1, il faudra bien que j'affecte la propriété NumberFormat au PivotItem Val1.
Ok, ce n'est pas très clair!
0
cs_mayga Messages postés 30 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 11 juillet 2011
10 juil. 2011 à 13:14
Encore une petite précision,
Les cellules dont je cherche à modifier le format correspondent aux colonnes "Somme de Val1"....
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 juil. 2011 à 14:03
=> erreur d'exécution 1004

Ce message d'erreur ne vient jamais seul, mais est en général accompagné de précisions, genre :

"erreur 1004: impossible de lire la propriété .....etc...."
Et que dit ton "etc"
dont tu ne parles pas ? et avec quel ligne de code, exactement ?
Car je crois en effet que ton problème est dans l'existence ou non de ce à quoi tu te réfères
____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
cs_mayga Messages postés 30 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 11 juillet 2011
10 juil. 2011 à 15:28
Message d'erreur : Propriété ou méthode non géré par cet objet.

Je vais essayé de détailler :
Dans ma feuille source de données du TCD : Colonnes Nom,Mois,Valeur1,Valeur2.....
Lorsque je crée le TCD avec l'assistant:
Dans la partie disposition:
Je glisse le champ Nom dans "PAGE", le champ Mois dans "LIGNE", les champs Valeur1, Valeur2... dans "DONNÉES".
Je crée le TCD.
Ensuite lorsque le tableau est créé je glisse "Donnée" vers la partie "COLONNE" : j'obtiens alors dans colonne 1 : "Somme de Valeur1" dans colonne 2 "Somme de Valeur2" ....
C'est ces cellules dont je veux modifier le format.
C'est pour cette raison que je pense que l'objet à traiter est PivotItems et non PivotFields.
J'ai réussi à changer le Caption de l'en tête de ma colonne PivotItems (ou est écrit Somme de...).
Mais pour changer le format?
0
cs_mayga Messages postés 30 Date d'inscription dimanche 12 décembre 2004 Statut Membre Dernière intervention 11 juillet 2011
10 juil. 2011 à 15:31
Pour la ligne de code dans l'exemple plus haut (en déclarant une variable PivotField) l'erreur survient lorsque je veux appliquer le Format.
a.numberFormat = "#,##0"
0
Rejoignez-nous