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 :

Vba : erreur sur un tableau croisé dynamique


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut Vba : erreur sur un tableau croisé dynamique
    Bonjour,

    je souhaite faire un tableau croisé dynamique via VBA. J'ai Excel 2010. J'ai lu pas mal de forums, et j'ai aussi fait un test avec l'enregistreur de macro. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    wbOut.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "MAT_DCP!R2C3:R10C21", version:=xlPivotTableVersion14).CreatePivotTable _
            TableDestination:="TCD!R3C1", TableName:="Mon TCD", _
           DefaultVersion:=xlPivotTableVersion14
    wbOut est mon workbook de sortie
    dans ce workbook, les feuilles MAT_DCP et TCD existent déjà. Je souhaite simplement prendre les cellules C2:U10 de la feuille MAT_DCP, en faire un tableau croisé dynamique que je mettrai dans la cellule C3 de la feuille TCD.

    Je n'arrive pas à voir où se trouve mon erreur (argument ou appel de procédure incorrect).

    J'ai alors essayé de repomper le code ci-dessous (je l'ai adapté) que j'ai trouvé sur un forum :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim PTCache As PivotCache
    Dim PT As PivotTable
     
    Sheets("MAT_DCP").Select
        Set PTCache = ActiveWorkbook.PivotCaches.Add _
                           (SourceType:=xlDatabase, _
                           SourceData:=range("C2").CurrentRegion.Address)
       Set PT = PTCache.CreatePivotTable _
                           (TableDestination:="TCD!C5", _
                              TableName:="Tableau croisé dynamique1")
    J'ai exactement la même erreur, mais à la ligne set PT = ...

    Dans mon 1e code, voyez-vous mon erreur svp ?

    D'avance merci

    Cordialement,

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Points : 1 562
    Points
    1 562
    Par défaut Pas de création possible si le tableau existe déjà.....
    Bonjour,

    Je pense que l'erreur vient du fait que vous essayez de créer un tableau qui existe déjà
    Vous pourriez peut-être le tester en passant par la collectionWorksheets("TCD").PivotTables. : si existe, je rafraichit oubien je crée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set PT = PTCache.CreatePivotTable _
                           (TableDestination:="TCD!C5", _
                              TableName:="Tableau croisé dynamique1")
    Bonne journée
    "Idéalement nous sommes ce que nous pensons. Dans la réalité, nous sommes ce que nous accomplissons." A.Senna
    et n'oubliez-pas de développer des .... sourires ^_^

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Bonjour,

    je doute que ce soit la bonne réponse, car juste avant cette ligne, je crée la feuille "TCD". Donc mon tableau croisé dynamique n'existe déjà pas. Enfin je pense...

  4. #4
    Invité
    Invité(e)

Discussions similaires

  1. [XL-2007] Boucle pour une sélection multiple par nom sur un tableau croisé dynamique VBA
    Par kuro200 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/06/2015, 20h31
  2. Mise en forme couleur via VBA sur un tableau croisé dynamique
    Par a.ouguerzam dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/03/2015, 11h41
  3. [XL-2010] Décocher une case sur un Tableau Croisé Dynamique VBA
    Par awa123 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/10/2014, 12h45
  4. EXCEL\VBA : Lignes totales d’un tableau croisé dynamique
    Par hiline6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/12/2006, 12h46
  5. [VBA-E] Supression ligne tableau croisé dynamique
    Par julien5 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 19/05/2006, 15h13

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