IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[EXCEL 2003] TCD - mise en forme par macro après rafraîchissement


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut [EXCEL 2003] TCD - mise en forme par macro après rafraîchissement
    Bonjour,
    J'ai un tableau croisé dynamique sur une feuille excel, il est mis à jour via une procédure qui utilise une base de données access. Après le rafraîchissement je veux mettre en rouge la police de certaines cellules en fonction des chiffres qui s'affichent sur la ligne correspondante. j'ai fait une procédure qui marche, sauf lorsqu'on clique sur la cellule en question pour afficher les détails des informations croisées, toutes les cellules reviennent à leur mise en forme initiale.

    Je modifie la police de la cellule avec cette ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("MaPage").Cells(LigneCellule, ColonneCellule).Font.ColorIndex = maCouleurPolice
    Avant de changer la couleur, je masque les détails de toutes les lignes, mais ça prend beaucoup de temps comparer à la manipulation du bouton "masquer" de la barre d'outil en étant focaliser sur le titre du champ


    Je ferme item par item, n'ayant pas trouver de propriété "ShowDetail" pour "PivotFields".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       For Each PvIt In maTablePivot.PivotFields("MonChamp").PivotItems
          If PvIt.ShowDetail = True Then
              PvIt.ShowDetail = False
              Else:
          End If
       Next
    Pouvez-vous m'aider à apppliquer une mise en forme persistante sur le tableau croisé dynamique, s'il vous plaît?

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Points : 824
    Points
    824
    Par défaut
    Bonsoir,

    Je ne suis pas très calé en TCD mais pour masquer/afficher sans boucle
    tu peux essayer ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'Pour afficher les détails
    With ActiveSheet.PivotTables("NomDuTableau")
        .PivotSelect "NomDuChamp[All]", xlLabelOnly, True
        Selection.ShowDetail = True
    End With
     
    'Pour masquer les détails
    With ActiveSheet.PivotTables("NomDuTableau")
        .PivotSelect "NomDuChamp[All]", xlLabelOnly, True
        Selection.ShowDetail = False
    End With
    N'oublie pas le [All] après le nom du champ.

    Cordialement,

    Tirex28/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Excel - TCD > Mise en forme des données pour un TCD
    Par ANTMA dans le forum Excel
    Réponses: 4
    Dernier message: 02/03/2012, 09h40
  2. Champ d'un TCD : mise en forme
    Par pam-pg dans le forum Général VBA
    Réponses: 2
    Dernier message: 11/10/2007, 22h36
  3. Réponses: 5
    Dernier message: 02/01/2007, 15h19
  4. Export d'etat ACCESS vers WORD/EXCEL : pb de mise en forme
    Par leguminator dans le forum Access
    Réponses: 2
    Dernier message: 25/10/2005, 11h03
  5. export de requete vers excel(pb de mise en forme)
    Par syl221 dans le forum Access
    Réponses: 13
    Dernier message: 20/10/2004, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo