Rechercher : dans
Par :

Mise en forme d'un tableau croisé dynamique

Dernière réponse le 5 mai 2009 à 13:34:37 identifiant-comment, le 27 avr 2009 à 16:17:25 
 Signaler ce message aux modérateurs

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 !

Configuration: Windows XP
Internet Explorer 7.0

1

Ferrique, le 27 avr 2009 à 16:58:43

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.

@+

Répondre à Ferrique

2

identifiant-comment, le 27 avr 2009 à 16:59:47

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...

Répondre à identifiant-comment

3

Ferrique, le 27 avr 2009 à 17:04:07

Je ne comprends pas très bien ce que vous recherchez! pouvez-vous être plus préçis

@+

Répondre à Ferrique

4

identifiant-comment, le 27 avr 2009 à 17:20:09

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 ! :)

Répondre à identifiant-comment

5

Ferrique, le 27 avr 2009 à 17:28:00

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?

@+

Répondre à Ferrique

6

identifiant-comment, le 27 avr 2009 à 18:16:03

:)
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...

Répondre à identifiant-comment

7

Ferrique, le 27 avr 2009 à 18:51:34

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.
@+

Répondre à Ferrique

8

identifiant-comment, le 27 avr 2009 à 19:10:51

Arf... Merci en tout cas !

Répondre à identifiant-comment

9

eriiic, le 27 avr 2009 à 21:18:18

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

Répondre à eriiic

10

identifiant-comment, le 28 avr 2009 à 09:46:10

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 !

Répondre à identifiant-comment

11

eriiic, le 28 avr 2009 à 19:22:07

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

Répondre à eriiic

12

xkristi, le 28 avr 2009 à 19:28:46
  • +1

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.

xkristi
Je ne détiens point la vérité , je te la laisse  volontiers ­...

Répondre à xkristi

13

eriiic, le 28 avr 2009 à 20:11:34

Salut xkristi, tu vas bien ? :-)

C'était si simple...
Bien joué ;-)
eric

Répondre à eriiic

14

identifiant-comment, le 28 avr 2009 à 21:13:26

:)

Merci !!
Là je ne suis pas au boulot, mais je teste tout ça dès demain matin !

Répondre à identifiant-comment

15

identifiant-comment, le 29 avr 2009 à 09:37:27

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é ?

Répondre à identifiant-comment

16

eriiic, le 29 avr 2009 à 09:52:01

Un mot peut-être...
garde préserver la mise en forme cochée

Répondre à eriiic

17

identifiant-comment, le 29 avr 2009 à 10:09:54

:)
J'ai écrit pas mal de bêtises depuis hier, mais ça j'y avais pensé...

Répondre à identifiant-comment

18

xkristi, le 29 avr 2009 à 12:08:56

Bonjour !

ensuite tu dois sélectionner :
Pour mettre en forme c'est bouton droit , sélectionner avant de mettre en forme.
si tu veux une colonne , tu sélectionnes le titre et tu répètes pour avoir soit l'étiquette soit les données à mettre en forme ... tu sais faire ?

ensuite dans options tu décoches "mise en forme automatique" sinon il te remet la mise en forme précédente

et si tu changes quelque chose repasse dans options pour valider la mise en forme que tu viens de faire.

Sinon tu perds tout à chaque actualisation.
xkristi
Je ne détiens point la vérité , je te la laisse  volontiers ...

Répondre à xkristi

19

identifiant-comment, le 29 avr 2009 à 13:34:09

Ok, je crois que je cerne mieux le problème. C'est que je ne mets pas la même mise en forme pour toutes mes étiquettes ni pour toutes mes données.
Par exemple j'ai une mise en forme conditionnelle sur mes étiquettes de colonne, et le texte y est orienté à -90°, ce qui n'est pas le cas pour les étiquettes de ligne.
Pour les données, il n'y a que les données des lignes et colonnes "Total" qui sont en gras.

Tu crois que c'est possible de conserver une mise en forme spécifique de ce genre ?

Répondre à identifiant-comment
Collection CommentÇaMarche.net