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 :

Mise en forme couleur via VBA sur un tableau croisé dynamique


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    DATAMINER
    Inscrit en
    Novembre 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : DATAMINER
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2014
    Messages : 147
    Points : 77
    Points
    77
    Par défaut Mise en forme couleur via VBA sur un tableau croisé dynamique
    bonjour,

    je vous communique une petite problematique, j'ai un tableau croise dynamique et sur le tableau j'ai besoin de mettre une mise en forme avec couleurs avec des conditions sauf que le croisé dynamique bouge selon les donnes par exemple j'ai commence par mettre le code VBA pour coulorie Q1 en rouge.
    ci dessous un code que j'ai deja essaye d'optimisé à partir d'une macro mais j'arrive pas je suis desole je suis un debutant VBA

    ci dessous mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub CouleurQ()
        ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotSelect "Q1", _
       Range("A4:C7").Select
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 255
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
    End Sub
    je vous laisse le fichier ci joint en cas de besoin Quartile.xlsm

    Cdt,
    ouga

  2. #2
    Membre régulier
    Homme Profil pro
    DATAMINER
    Inscrit en
    Novembre 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : DATAMINER
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2014
    Messages : 147
    Points : 77
    Points
    77
    Par défaut
    j'ai rajouter le code ci dessous ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A:A").Find("Q1").Select
    mais il me chercher juste ou il se trouve Q1 la cellule Q1 seulement.

  3. #3
    Membre régulier
    Homme Profil pro
    DATAMINER
    Inscrit en
    Novembre 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : DATAMINER
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2014
    Messages : 147
    Points : 77
    Points
    77
    Par défaut
    il me reste juste comme lui dire de suivre la recherche pour qu'elle cherche les Q1 qui suit

    ci dessous une capture d'ecran :

    Nom : Quartile.jpg
Affichages : 890
Taille : 58,9 Ko

  4. #4
    Membre régulier
    Homme Profil pro
    DATAMINER
    Inscrit en
    Novembre 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : DATAMINER
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2014
    Messages : 147
    Points : 77
    Points
    77
    Par défaut
    personne !!!

    je vous communique le code je partage avec vous ci dessous le scripte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Option Explicit
    Public Sub CouleurQ()
    Dim ws As Worksheet, pt As PivotTable, rngData As Range
     
        With Application
            .PivotTableSelection = True: .ScreenUpdating = False
        End With
     
        Set ws = ActiveSheet: Set pt = ws.PivotTables(1)
        Set rngData = _
                Intersect(pt.PivotFields("Quartile").PivotItems("Q1").DataRange.EntireRow, _
                pt.PivotFields("Agent").DataRange)
        Set rngData = _
                Union(rngData, pt.PivotFields("Quartile").PivotItems("Q1").LabelRange, _
                pt.PivotFields("Quartile").PivotItems("Q1").DataRange)
        rngData.Interior.Color = vbRed
     
        Set rngData = Nothing: Set pt = Nothing: Set ws = Nothing
     
    End Sub
    cdt,
    OUGA

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

Discussions similaires

  1. [XL-2007] Boucle pour une sélection multiple par nom sur un tableau croisé dynamique VBA
    Par kuro200 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/06/2015, 20h31
  2. [XL-2010] Décocher une case sur un Tableau Croisé Dynamique VBA
    Par awa123 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/10/2014, 12h45
  3. Vba : erreur sur un tableau croisé dynamique
    Par salseropom dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/09/2014, 14h45
  4. Réponses: 2
    Dernier message: 29/05/2007, 14h16

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