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 :

VBA et segments


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 276
    Points : 63
    Points
    63
    Par défaut VBA et segments
    Bonjour le forum,

    je recherche une macro, qui me permette de colorier ma feuille (cela ne pose pas de problème) mais maintenant j'ai un TCD sur ma feuille commander par plusieurs segments (c'est là que ca se complique)

    mon TCD étant une table certaines fois j'ai plus ou moins de lignes et donc je me retrouve avec un blanc sous mon TCD.

    donc voila ma recherche après la sélection d'un bouton d'un segment, je voudrais que le fond de ma feuille se colorie.

    En espérant avoir et clair,

    HB

  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 931
    Points : 5 152
    Points
    5 152
    Par défaut
    Bonjour
    La demande n'est pas claire.. peux tu afficher un capture écran sans données confid
    Si non dans la propriété du TCD coché : ajusté selon contenu
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  3. #3
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 276
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    merci pour la réponse.

    je me permets donc de vous joindre un fichier exemple pour meilleure compréhension.

    Le fond de ma feuille est bleu.

    je créer une TCD sur cette feuille, avec un segment (date en l'occurrence)

    Quand je sélection le mois Avril alors j'ai une ligne blanche sous mon TCD, en faite c'est cette ligne blanche que je souhaite colorié en bleue avec une macro ou autres solution.

    En vous remerciant par avance,

    HB
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 931
    Points : 5 152
    Points
    5 152
    Par défaut
    tu dois intercepter le changement de segment
    tester avec prudence
    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
    Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
        If Target.Name <> "Tableau croisé dynamique1" Then Exit Sub
        For Each Cas In ActiveWorkbook.SlicerCaches("Segment_date").SlicerItems
            If Cas.Selected = True Then
            Application.ScreenUpdating = False
        With Sheets("TCD").Cells.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorAccent1
            .TintAndShade = -0.499984740745262
            .PatternTintAndShade = 0
        End With
     Exit For
     Application.ScreenUpdating = True
        End If
        Next Cas
    End Sub
    Fichiers attachés Fichiers attachés
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  5. #5
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 276
    Points : 63
    Points
    63
    Par défaut
    Bonjour BENNASR,

    merci pour ton retour rapide, mais j'ai un souci de macro.

    elle bloque sur cette ligne.

    For Each Cas In ActiveWorkbook.SlicerCaches("Segment_Year2").SlicerItems

    Merci par avance,

    HB

  6. #6
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 931
    Points : 5 152
    Points
    5 152
    Par défaut
    Si ça fonctionne avec mon fichier ça doit qu un problème de nom de segment
    Pour vérifier démarre l enregistreur auto du macro... Clic sur un élément du segment... Arrête l enregistreur et va voir le code... Vérifier le nom du segment
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 291
    Points : 1 889
    Points
    1 889
    Par défaut
    Hello,

    Si le but est de colorer toute la feuille sauf le TCD,
    les propriétés RowRange et ColumnRange de l'objet PivotTable permettent de connaitre les plages utilisées par ce dernier.

  8. #8
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 276
    Points : 63
    Points
    63
    Par défaut
    Bonjour BENNASR et le forum,

    en faite je viens de comprendre pourquoi il y avait un bug sur le slicer.

    Celui est créer a partir d'un power pivot.

    Quand je fait un enregistrement de macro alors il pointe bien sur ma feuille et la colonne de mes données power pivot.

    Comment faire alors pour faire une boucle comme cela.

    Hervé

  9. #9
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 931
    Points : 5 152
    Points
    5 152
    Par défaut
    bonjour
    teste avec prudence
    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
    22
    Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
        If Target.Name <> "Tableau croisé dynamique1" Then Exit Sub
        For Each Cas In ActiveWorkbook.SlicerCaches("Segment_Année").SlicerItems
            If Cas.Selected = True Then
            Application.ScreenUpdating = False
          '  Sheets("TCD").PivotTable.RowRange.Select
     
            Sheets("TCD").Range("B8").Select 'te positionne dans le TCD ... A Adapter
            ActiveCell.PivotTable.RowRange.Select
     
        With Sheets("TCD").Cells.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorAccent1
            .TintAndShade = -0.499984740745262
            .PatternTintAndShade = 0
        End With
     Exit For
     Application.ScreenUpdating = True
        End If
        Next Cas
    End Sub
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

Discussions similaires

  1. [XL-2010] VBA et segment
    Par lumpys dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/01/2022, 10h48
  2. [XL-2010] Si existe, supprimer un segment TCD en VBA
    Par Conundrum dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/03/2019, 09h09
  3. [XL-2016] segmenter un cercle en VBA
    Par osiri dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 30/03/2016, 23h40
  4. Parcourir un segment EXCEL PowerPivot avec une macro vba
    Par samizou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/11/2015, 21h59
  5. Modifier graphique en VBA (forme et segment)
    Par lbar012001 dans le forum VBA Access
    Réponses: 8
    Dernier message: 10/06/2009, 15h39

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