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 via macro sur un TCD


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 23
    Par défaut Filtre via macro sur un TCD
    Bonjour,

    Je viens chercher de l'aide car j'ai un petit souci avec une macro sur un TCD.

    Je cherche via une macro à créer automatiquement un TCD dont un filtre doit se faire uniquement sur les dates concernant l'année 2015. Je n'arrive pas à faire cela ..

    Voici mon code :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    Sub TCD_CPT_GPI()
    '
    '   Macro "CD_CPT_GPI" qui permet de créer le TCD au niveau de la compta et du GPI :
    '
    '-----------------------------------------------------------------------------------
        '
        Sheets("OS11").Select
        Range("A1").Select
        Range(Selection, Selection.End(xlToRight)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Sheets.Add After:=Sheets(Sheets.Count)
        Sheets(3).Name = "TCD1"
        '
        '   Etiquettes de lignes
        '
        Dim DerniereLigne As Long
        Dim DerniereColonne As Long
        DerniereLigne = 14
        DerniereColonne = 7
        '
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "OS11!R1C1:R" & DerniereLigne & "C" & DerniereColonne & "", Version:=xlPivotTableVersion14).CreatePivotTable _
            TableDestination:="TCD1!R3C1", TableName:="Tableau croisé dynamique1", _
            DefaultVersion:=xlPivotTableVersion14
        Sheets("TCD1").Select
        '
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Code de l'opération")
            .Orientation = xlRowField
            .Position = 1
        End With
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Libellé de l'opération")
            .Orientation = xlRowField
            .Position = 2
        End With
        '
        '   Filtre du rapport
        '
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Immo")
            .Orientation = xlPageField
            .Position = 1
        End With
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Immo")
            .PivotItems("NI").Visible = False
        End With
        ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Immo").EnableMultiplePageItems = True
        '
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Date transaction")
            .Orientation = xlPageField
            .Position = 1
            '
            '   Ne fonctionne pas
            '
            For i = 1 To .PivotItems.Count
                If .PivotItems(i) = "2015" Then
                    .PivotItems(i).Visible = True
                    Else
                    .PivotItems(i).Visible = False
                End If
            Next i
            '
        End With
        '
        '   Etiquettes de colonnes
        '
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Type indicateur")
            .Orientation = xlColumnField
            .Position = 1
        End With
        With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Type indicateur")
            '.PivotItems("BDT").Visible = False
            '.PivotItems("ENG").Visible = False
            '.PivotItems("MDP").Visible = False
        End With
        '
        '   Valeurs
        '
        ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
            PivotTables("Tableau croisé dynamique1").PivotFields("Montant"), "Somme de Montant", xlSum
        ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Immo").CurrentPage = "(All)"
        '
        '   Permet de ne pas afficher les sous-totaux
        '
        Range("A2").Select
        ssTotaux.SuppressionSousTotauxTCD
        '
        '   Permet d'afficher le TCD sous forme tabulaire
        '
        ActiveSheet.PivotTables("Tableau croisé dynamique1").RowAxisLayout xlTabularRow
        '
        '   Permet de redimensionner la largeur des colonnes
        '
        Columns("A:E").EntireColumn.AutoFit
        Range("A1").Select
    End Sub
    Je vous joint un fichier Test, je n'ai pu y intégrer le code (impossible de télécharger le fichier "xlsm" ...).

    Si jamais quelqu'un avait la solution, ça me serait très utile.

    Merci d'avance !!
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [Toutes versions] filtre TCD via macro vba sur texte contenu
    Par fomy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/08/2012, 09h35
  2. [XL-2007] Macro sur Filtre élaboré
    Par jose_67 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/02/2010, 19h45
  3. recuperer un tableau sur page html securisee via macro
    Par TOTOTAR dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/06/2009, 04h53
  4. Afficher une photo .Jpg sur Excel via macro Excel
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/04/2008, 11h51
  5. [VBA-E]Filtre via une macro sur Excel
    Par jamal.b dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/04/2006, 15h35

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