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 :

TCD par macro et filtre


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut TCD par macro et filtre
    Bonsoir,

    Je cherche à créer un TCD par macro, grâce au forum, j'ai trouvé une discussion avec PGZ qui donnait un code pour créer un TCD. Je l'ai mixé avec un tuto de Silkyroad, histoire de comprendre comment ça fonctionne.

    J'ai donc :
    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
    Public Sub M()
        Dim Feuille As String
        Dim DataR As Long
        Dim DataC As Integer
        Dim Source As String
        Dim Destination As String
        Dim oSh As Excel.Worksheet
        Dim oTCD As Excel.PivotTable
     
    'créer un tableau
     
    Set oSh = Sheets("Recap") 'ActiveSheet
     
    DataR = oSh.Range("A1").End(xlDown).Row
    DataC = oSh.Range("A1").End(xlToRight).Column
    Source = "'" & oSh.Name & "'!R1C1:R" & DataR & "C" & DataC
    Destination = "Feuil2!R1C1"
     
    Debug.Print Source
     
    Set oTCD = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Source).CreatePivotTable(Destination)
    Debug.Print "TCD créé : " & oTCD.Name
     
    Cells(20, 20) = "TCD créé : " & oTCD.Name
    Cells(21, 20) = DataR
    Cells(21, 20) = DataC
    Cells(22, 20) = Source
    Cells(23, 20) = Destination
    'Debug.Print "Mon TCD"
     
     'Stop
    'Set oSh = Nothing
    'Set oTCD = Nothing
     
    With Feuil2.PivotTables(oTCD.Name)
     
        'Ajoute un champ de lignes nommé "Ville".
        'Le nom du champ "Ville" doit préalablement exister comme entête de la
        'source de données.
        .AddFields RowFields:="Semaine"
        'Définit l'orientation du champ nommé "CA" en tant que Donnée.
        'le nom du champ "CA" doit préalablement exister comme entête
        'de la source de données.
        .PivotFields("personne").Orientation = xlDataField
    End With
     
    End Sub
    Donc, j'ai remplacé "Ville" par "Semaine" et "CA" par "personne".

    Tout fonctionne nickel, mais en fait, j'aimerai appliquer un filtre : par exemple : ne choisir que les semaines 24 et 25 (c'est un exemple).

    J'ai essayé de m'aider de l'assistant création macro, mais rien...je n'arrive pas à "voir" l'instruction qu'il faut mettre pour filtrer sur ces 2 semaines....

    Une idée ?

    merci,

    A+

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 77
    Par défaut
    Salut Eric,
    Peux tu joindre ton fichier à ton post.
    A+

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 855
    Par défaut
    Merci chrystobale,

    Finalement, j'ai réussi à solutionner mon problème (=il suffit de suivre le tuto de Silkyroad à la lettre...) et oublié de cliquer sur "Résolu".....

    A+ pour de prochaines aventures

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

Discussions similaires

  1. Ajout d'un TCD par macro
    Par wonder68 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/06/2015, 14h30
  2. [XL-2010] Changer les champs d'un TCD par macro
    Par stevenring dans le forum Excel
    Réponses: 1
    Dernier message: 21/09/2014, 15h41
  3. Ouvrir les résultats d'un TCD par macro
    Par illight dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 31/03/2008, 12h41
  4. [EXCEL 2003] TCD - mise en forme par macro après rafraîchissement
    Par paul42 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/11/2007, 04h21
  5. problème macro et filtre automatique par une variable texte
    Par Drozo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/08/2007, 10h05

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