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 :

Filtre TCD sur étiquettes de lignes [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 316
    Par défaut Filtre TCD sur étiquettes de lignes
    Bonjour,

    Je viens vers vous car je n'arrive pas avoir la logique dans le filtre pour selectionner et deselectionner les semaines que je veux voir

    J'ai effectuer l'engistrement macro suivant pour voir comment cela réagissait sachant qu'au préalable les semaines allant de 40.5 à 48 étaient cochés:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Macro1()
     
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Semaine" _
            )
            .PivotItems("40.5").Visible = False
            .PivotItems("49").Visible = True
        End With
    End Sub
    Donc le résultat affiche les semaines allant de 40.5 à 49 soit 10 semaines glissantes

    NB : les semaine à cheval sur un mois sont subdivisées c'est à dire que pour la semaine 44 (27/10/2014 au 02/11/2014) la semaine 44 correspond à la période du 27/10 au 31/10 et la semaine 44.5 correspond à la période du 01/11 au 02/11


    Donc si je reprends la macro ci dessus, je me demandais si je devais énuméré toutes les semaines et imputer une variable (boucle précisant les semaines que je veux voir et pas voir) pour dire si c'est False ou True

    Merci de vos éclaircissements

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Un exemple à adapter à votre cas.

    On fixe les limites début et fin des semaines à sélectionner dans la feuille du TCD (par exemple) et on regarde si la valeur Val(PvtItem.caption) se situe entre les limites.

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Sub SelectionItems()
     
    Dim ShTcd As Worksheet
    Dim Pvt As PivotTable
    Dim PvtItem As PivotItem
     
        Application.ScreenUpdating = False
     
        Set ShTcd = Sheets("Tcd Semaine")
        Set Pvt = ShTcd.PivotTables("Tableau croisé dynamique1")
     
        With Pvt
            ' Effacement des anciens filtres et rafraichissement du Tcd.
            .PivotFields("Semaine").ClearAllFilters
            .PivotCache.Refresh
     
           ' Mise à jour du TCD.
            For Each PvtItem In Pvt.PivotFields("Semaine").PivotItems
                If Val(PvtItem.Caption) >= ShTcd.Range("TcdSemaineDebut") And Val(PvtItem.Caption) <= ShTcd.Range("TcdSemaineFin") Then
                   PvtItem.Visible = True
                Else
                   PvtItem.Visible = False
                End If
            Next PvtItem
     
            .ColumnRange.ColumnWidth = 18
     
        End With
     
        Set Pvt = Nothing
        Set ShTcd = Nothing
     
        Application.ScreenUpdating = True
     
    End Sub

    Cordialement.

  3. #3
    Membre éclairé
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 316
    Par défaut Merci Michel
    Impeccable

    Merci grandement

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

Discussions similaires

  1. TCD disposition - étiquette des lignes
    Par alexisbc dans le forum Excel
    Réponses: 3
    Dernier message: 23/05/2013, 12h16
  2. Réponses: 1
    Dernier message: 19/10/2011, 14h57
  3. [XL-2000] Erreur sur la 1ere ligne de filtre
    Par cobra38 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/02/2011, 18h35
  4. Modification filtre TCD sur Visual Studio
    Par binoune dans le forum Visual Studio
    Réponses: 0
    Dernier message: 26/01/2010, 12h04
  5. Filtre specifique sur 2 lignes
    Par skywaltitou dans le forum Thunderbird
    Réponses: 0
    Dernier message: 26/09/2008, 09h54

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