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 :

Créer un TCD simple sur Excel VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 360
    Points : 184
    Points
    184
    Par défaut Créer un TCD simple sur Excel VBA
    Bonjour,

    Je voudrais créer un TCD (tableau croisé dynamique) sur excel en allant chercher les données sur un autre classeur dans le même repertoire.

    j'ai donc commencé par écrire le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    Sub CreerTCD()
     
    Workbooks("cde").PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        Worksheet("Sheet1").Range("A1").CurrentRegion.Address(, , xlR1C1, True)).CreatePivotTable _
        TableDestination:=ActiveWorkbook.Worksheet(1).Range("E10"), _
        TableName:="Mon TCD"
     
    End sub
    mais Helas il y a déjà un soucis

    Merci de votre aide.

    ps : j'ai essayé de me basé sur le code suivant
    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
     
     
     
    Sub CreerTCD()
     
    'SourceData: Définit la source de données dans le TCD.
    '[Feuil1!A1].CurrentRegion.Address(, , xlR1C1, True) permet d'étendre
    'automatiquement la sélection de façon à y inclure toute la zone en cours
    'à partir de la cellule A1, dans la Feuil1.
     
    'TableDestination: Définit la position du TCD (cellule A3 dans la Feuil2).
     
    'TableName: Définit le nom du nouveau TCD. ("Mon TCD")
     
    ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        [Feuil1!A1].CurrentRegion.Address(, , xlR1C1, True)).CreatePivotTable _
        TableDestination:="Feuil2!R3C1", _
        TableName:="Mon TCD"
     
     
    'Mise en forme:
    With Feuil2.PivotTables("Mon TCD")
        '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:="Ville"
        '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("CA").Orientation = xlDataField
    End With
     
    End Sub

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Points : 14 363
    Points
    14 363
    Par défaut
    Bonjour,

    C'est quoi, ton souci ? une erreur ? Laquelle ? Est-ce que tu essayé de créer ton TCD avec l'enregistreur de macro ?

  3. #3
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonsoir

    Pour désigner une feuille, c'est WorkSheets(Index). Tu as omis le "s".

    Cordialement,

    PGZ

Discussions similaires

  1. VBA pour créer un TCD sur powerpivot
    Par jpclabaux dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/09/2012, 17h17
  2. [XL-2010] Code pour rajouter du pourcentage dans un graphe sur excel VBA
    Par darkryn dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/06/2012, 14h31
  3. Créer interface sur Excel / VBA
    Par Tropique dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/06/2011, 13h53
  4. [WD-2007] Créer un calendrier simple avec word (vba)
    Par Judas_Benhur dans le forum VBA Word
    Réponses: 4
    Dernier message: 04/01/2011, 02h59
  5. VBA sur excel tout simple
    Par JohnFidgeral dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/01/2007, 19h58

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