Format cellule TCD [Résolu]

Messages postés
30
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
11 juillet 2011
- - Dernière réponse : cs_mayga
Messages postés
30
Date d'inscription
dimanche 12 décembre 2004
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.
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
Messages postés
30
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
11 juillet 2011
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_mayga
Messages postés
30
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
11 juillet 2011
0
Merci
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.
Commenter la réponse de cs_mayga
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
30
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
11 juillet 2011
0
Merci
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.
Commenter la réponse de cs_mayga
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
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
Commenter la réponse de ucfoutu
Messages postés
30
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
11 juillet 2011
0
Merci
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!
Commenter la réponse de cs_mayga
Messages postés
30
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
11 juillet 2011
0
Merci
Encore une petite précision,
Les cellules dont je cherche à modifier le format correspondent aux colonnes "Somme de Val1"....
Commenter la réponse de cs_mayga
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
=> 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
Commenter la réponse de ucfoutu
Messages postés
30
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
11 juillet 2011
0
Merci
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?
Commenter la réponse de cs_mayga
Messages postés
30
Date d'inscription
dimanche 12 décembre 2004
Dernière intervention
11 juillet 2011
0
Merci
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"
Commenter la réponse de cs_mayga

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.