Format cellule TCD [Résolu]

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

11 réponses

Répondre au sujet
cs_mayga 30 Messages postés dimanche 12 décembre 2004Date d'inscription 11 juillet 2011 Dernière intervention - 11 juil. 2011 à 09:39
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_mayga
cs_mayga 30 Messages postés dimanche 12 décembre 2004Date d'inscription 11 juillet 2011 Dernière intervention - 9 juil. 2011 à 13:09
0
Utile
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 10 juil. 2011 à 08:18
0
Utile
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 10 juil. 2011 à 08:35
0
Utile
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
cs_mayga 30 Messages postés dimanche 12 décembre 2004Date d'inscription 11 juillet 2011 Dernière intervention - 10 juil. 2011 à 11:32
0
Utile
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 10 juil. 2011 à 11:49
0
Utile
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
cs_mayga 30 Messages postés dimanche 12 décembre 2004Date d'inscription 11 juillet 2011 Dernière intervention - 10 juil. 2011 à 12:48
0
Utile
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
cs_mayga 30 Messages postés dimanche 12 décembre 2004Date d'inscription 11 juillet 2011 Dernière intervention - 10 juil. 2011 à 13:14
0
Utile
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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 10 juil. 2011 à 14:03
0
Utile
=> 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
cs_mayga 30 Messages postés dimanche 12 décembre 2004Date d'inscription 11 juillet 2011 Dernière intervention - 10 juil. 2011 à 15:28
0
Utile
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
cs_mayga 30 Messages postés dimanche 12 décembre 2004Date d'inscription 11 juillet 2011 Dernière intervention - 10 juil. 2011 à 15:31
0
Utile
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.