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

Signaler
Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
-
 olive -
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 !
A voir également:

28 réponses

Messages postés
4262
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
1 juin 2020
559
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.

51
Merci

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

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
341
Date d'inscription
lundi 20 avril 2009
Statut
Membre
Dernière intervention
6 mars 2017
54
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 ! :)
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
6 mars 2017
54
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
6 mars 2017
54
:)
J'ai écrit pas mal de bêtises depuis hier, mais ça j'y avais pensé...
Messages postés
325
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
27 août 2010
61
Je ne comprends pas très bien ce que vous recherchez! pouvez-vous être plus préçis

@+
Messages postés
325
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
27 août 2010
61
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
6 mars 2017
54
Arf... Merci en tout cas !
Messages postés
23991
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 avril 2021
6 719
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
4262
Date d'inscription
lundi 18 décembre 2006
Statut
Membre
Dernière intervention
1 juin 2020
559
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
23991
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 avril 2021
6 719
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
6 mars 2017
54
:)

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
6 mars 2017
54
Merci Dan, c'est le lien que je cherchais !
Messages postés
325
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
27 août 2010
61
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
6 mars 2017
54
:)
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
325
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
27 août 2010
61
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
23991
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 avril 2021
6 719
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
6 mars 2017
54
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
6 mars 2017
54
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
23991
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
10 avril 2021
6 719
un mot peut-être...
garde préserver la mise en forme cochée