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 :

Insérer un TCD via VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2019
    Messages : 101
    Par défaut Insérer un TCD via VBA
    Bonjour à tous,
    j'ai créé une macro qui ouvre un fichier. Après quelques retraitements automatisés, je cherche à créer un tableau croisé dynamique.
    J'ai utilisé l'enregistreur de macro qui me donne la macro suivante:

    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
    Sub Macro24()
     
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "Parc!R1C1:R14554C25", Version:=xlPivotTableVersion10).CreatePivotTable _
            TableDestination:="Facturation Ligne!R1C1", TableName:= _
            "Tableau croisé dynamique11", DefaultVersion:=xlPivotTableVersion10
        Sheets("Facturation Ligne").Select
        Cells(1, 1).Select
        With ActiveSheet.PivotTables("Tableau croisé dynamique11").PivotFields( _
            "Donneur d'ordre")
            .Orientation = xlRowField
            .Position = 1
        End With
        ActiveSheet.PivotTables("Tableau croisé dynamique11").AddDataField ActiveSheet. _
            PivotTables("Tableau croisé dynamique11").PivotFields("Ligne"), _
            "Somme de Ligne", xlSum
        With ActiveSheet.PivotTables("Tableau croisé dynamique11").PivotFields( _
            "Somme de Ligne")
            .Caption = "Nombre de Ligne"
            .Function = xlCount
        End With
    End Sub


    Mon code bloque spécifiquement sur cette partie qui se surligne en jaune:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "Parc!R1C1:R14554C25", Version:=xlPivotTableVersion10).CreatePivotTable _
            TableDestination:="Facturation Ligne!R1C1", TableName:= _
            "Tableau croisé dynamique11", DefaultVersion:=xlPivotTableVersion10

    J'avoue que je bloque complètement, est-ce que quelqu'un aurait déjà rencontré ce type de problème ?

    Merci et bonne journée !

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 590
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 590
    Par défaut
    Bonjour

    De façon générale on ne crée jamais de TCD par VBA : on le crée manuellement puis on adapte sa source, par VBA si l'on veut.

    Quand on enregistre une macro un nom est donné au TCD : si tu relances et que le 1er TCD n'a pas été supprimé, il y a conflit de noms

    De même si le cache existe, il faut l'utiliser et pas le recréer.

Discussions similaires

  1. [XL-2007] erreur 1004 pour la création d'un tcd via vba
    Par lps02 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/10/2012, 21h23
  2. [XL-2002] Sélection d'éléments dans un TCD via VBA
    Par Pesnoob dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/06/2011, 10h59
  3. [XL-2007] MAJ multi-TCD via VBA
    Par deuboli dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/03/2011, 08h44
  4. E-XP : création TCD via VBA.
    Par gillou13 dans le forum Excel
    Réponses: 1
    Dernier message: 27/02/2009, 21h42
  5. Mise à jour de la source d'un TCD via VBA
    Par alex830001 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/01/2009, 11h41

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