Menu

Mise en forme d'un tableau croisé dynamique [Résolu/Fermé]

Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
22 février 2017
- - Dernière réponse :  olive - 20 sept. 2014 à 01:46
Bonjour,

Est-il possible de figer la mise en forme d'un tableau croisé dynamique ?
Je souhaite en effet que les actualisations ne me fassent pas revenir à la mise en forme initiale.

Merci de votre aide !
Afficher la suite 

20/28 réponses

Meilleure réponse
Messages postés
4272
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
26 janvier 2019
523
47
Merci
Salut
Bonjour à Eriic en passant ! lol

sur le tableau croisé dynamique
bouton droit options et tu désactives mise en forme automatique et garde préserver la mise en forme cochée..

Pour mettre en forme c'est bouton droit , sélectionner avant de mettre en forme.

Sinon tu perds tout à chaque actualisation.

Dire « Merci » 47

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

CCM 39020 internautes nous ont dit merci ce mois-ci

Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
22 février 2017
46
6
Merci
Bien sûr :

J'ai plusieurs tableaux croisés dynamiques, que je veux absolument garder sur la même page.
Ces tableaux sont mis en forme (caractères centrés, mise en forme conditionnelle sur certaines étiquettes, gras, et surtout, largeur de colonne).

Or, à chaque actualisation du tableur, cette mise en forme est perdue, ce qui fait notamment que les tableaux deviennent trop large et que l'onglet devient trop compliqué à lire.

Je recherche donc un moyen de figer la mise en forme de ces tableaux, afin que lors d'une actualisation, les valeurs soient actualisées et non la mise en forme.

J'espère que j'ai réussi à être suffisamment claire ! :)
6
Merci
En recherchant aussi une solutions au Même problème
J'ai trouvé pour sélectionner tout le tableau et bien répéter partout la bonne mise en forme: http://office.microsoft.com/fr-fr/excel/HP052002211036.aspx

Sinon pour les mises en forme très particulières: je copie (en général sur la droite de la même feuille) les cellules avec liaison sur le TCD

et comme cela, quand je mets à jour le TCD les cellules de droite sont également mise à jour.
pour le résultat final ...il suffit de masquer le TCD

J'espère que cela peut aider
Daniel
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
22 février 2017
46
4
Merci
Merci pour votre réponse.
Néanmoins, cela me permet d'actualiser les données, et non pas de conserver la mise en forme du tableau...
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
22 février 2017
46
3
Merci
:)
J'ai écrit pas mal de bêtises depuis hier, mais ça j'y avais pensé...
Messages postés
326
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
27 août 2010
60
2
Merci
Oui, la c'est plus claire, avez vous essayé de passer mettre en forme le rapport que vous trouverez dans la barre d'outils du tableau à croisé dynamique?

@+
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
22 février 2017
46
2
Merci
Arf... Merci en tout cas !
Messages postés
22735
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 mai 2019
5477
2
Merci
Bonsoir,

En vba alors...

- Règle tes largeurs de colonne sur ton modèle et note sur une feuille (de papier !) les largeurs que tu attribues à chaque colonne (le 1er nombre (celui sensé être en nombre de caractères), pas celui en pixels).
- clic-droit sur le nom d'onglet de ta feuille et choisis 'Visualiser le code'
- coller le code suivant dans la fenetre de code (à droite dans l'éditeur) :
Private Sub Worksheet_Activate()
    Columns("A:A").ColumnWidth = 20
    Columns("B:C").ColumnWidth = 8
    Columns("D:D").ColumnWidth = 6
    Columns("E:G").ColumnWidth = 16
    Columns("H:H").ColumnWidth = 4
End Sub

C'est un exemple, mets les colonnes ou plages de colonnes qui t'interessent et leur valeur.
Tu peux le faire aussi par enregistrement de macro. Dans ce cas après l'enregistrement tu enlèves toutes les lignes où il n'y a pas Columns("x:x").ColumnWidth = , et tu remplaces Sub Macro1() par Private Sub Worksheet_Activate()
A chaque rafraichissement il suffit d'activer une autre feuille et de revenir dessus pour que les largeurs se remettent.

Ou bien on peut le faire avec l'evenement double-clic de la feuille.
Si tu préfères ça met ce code à la place :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        Columns("A:A").ColumnWidth = 20
        ....
        ....
        cancel = true
End Sub


eric
Messages postés
4272
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
26 janvier 2019
523
2
Merci
De mémoire
les mises en forme conditionnelles ne fonctionnent pas bien dans un TCD pour Excel 2003

regarde dans l'aide d'Excel : il y a des réserves à ce sujet
Messages postés
326
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
27 août 2010
60
1
Merci
Je ne comprends pas très bien ce que vous recherchez! pouvez-vous être plus préçis

@+
Messages postés
22735
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 mai 2019
5477
1
Merci
Salut xkristi, tu vas bien ? :-)

C'était si simple...
Bien joué ;-)
eric
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
22 février 2017
46
1
Merci
:)

Merci !!
Là je ne suis pas au boulot, mais je teste tout ça dès demain matin !
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
22 février 2017
46
1
Merci
Merci Dan, c'est le lien que je cherchais !
Messages postés
326
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
27 août 2010
60
0
Merci
Bonjour,

Cliquez sur la première cellule en au à gauche du tableau et dans la barre d'outils de tableau à crousé dynamique, clique sur le point d'exclamation rouge, actualiser les données.

@+
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
22 février 2017
46
0
Merci
:)
C'set moi qui ne comprends plus ce que vous dites... Le rapport dans la bartre d'outil ? Vous parlez des mises en formes automatiques ?
Si oui, oui, j'ai essayé, mais :
- ces mises en forme ne correspondent pas à ce que je veux faire
- elles sont elles aussi annulées quand j'actualise les tableaux...
Messages postés
326
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
27 août 2010
60
0
Merci
Si vos tableaux sont les uns en dessous des autres, normal que vous perdiez les mises en forme car du moment ou vous modifiez des données sur un de ceux-ci il réajuste le colonnes en conséquence.

Désolé je ne vois pas la solution, si je trouve je vous communique la solution.
@+
Messages postés
22735
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 mai 2019
5477
0
Merci
Bonsoir,

Je pense que c'est surtout la largeur de colonne que tu perds. Le reste doit être ok.
Une possibilité sans utiliser vba :
- Ajouter une feuille libre
- mettre en forme le TCD
- sélectionner tout le TCD et copier/collage spécial 'largeur de colonne' dans la feuille libre pour les sauvegarder.

Après une mise à jour tu fais l'inverse.

eric
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
22 février 2017
46
0
Merci
Bonjour Eriiiiic,

Merci pour ta réponse.
Malheureusement, je travaille sur un modèle de document, et l'idée est de limiter au maximum le travail des futurs utilisateurs. J'ai peur que le fait de passer d'une feuille à l'autre pour garder une mise en forme soit un petit peu fastidieux pour eux.
Je n'ai aucune expérience en VBA, mais pourrais-tu me dire comment tu ferais ?

Je te remercie !
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
22 février 2017
46
0
Merci
Salut xkristi !

On y est presque ! Avec ce système (que je suis dégoûtée de ne pas avoir trouvé seule d'ailleurs ;)), je conserve enfin mes largeurs de colonnes. Mais je perds la mise en forme que je perdais jusque là (gras, texte centré, etc).
Est-ce que par hasard j'aurasi loupé une étape dans ce que tu m'as expliqué ?
Messages postés
22735
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 mai 2019
5477
0
Merci
un mot peut-être...
garde préserver la mise en forme cochée