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

VBA Discussion :

Erreur "1004" Tableau croisé VBA


Sujet :

VBA

  1. #1
    Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Décembre 2013
    Messages : 51
    Points : 50
    Points
    50
    Par défaut Erreur "1004" Tableau croisé VBA
    Bonjour à tous,

    J'ai cette macro dont le but est d'ajouter un tableau croisé dynamique qui viendrait s'ajouter sur une autre feuille d'un fichier externe.
    Si j'utilise ma macro en utilisant la fenêtre VBA (en actionnant ma macro depuis cette dernière) depuis mon fichier "Stock" alors la macro tourne bien, et ça crée bien un TCD.

    Mon problème est que si je fais tourner ma macro à partir du bouton créé sur mon fichier principal, alors j'ai le message d'erreur suivant :
    Erreur d'execution '1004'
    Le nom du champ de tableau croisé dynamique n'est plus valide. Pour créer un rapport de tableau croisé dynamique, vous devez utiliser des données sous forme de liste avec des étiquettes de colonnes. Si vous changez le nom d'un champ de tableau croisé dynamique, vous devez taper un nouveau nom pour le champ.
    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
    Sub CreatePivotTable()
    
    
    Dim sht As Worksheet
    Dim pvtCache As PivotCache
    Dim pvt As PivotTable
    Dim StartPvt As String
    Dim SrcData As String
    
    'Determine the data range you want to pivot
      SrcData = ActiveSheet.Name & "!" & Range("A1:N5000").Address(ReferenceStyle:=xlR1C1)
    
    'Create a new worksheet
      Set sht = Workbooks("Stock").Worksheets.Add
    
    'Where do you want Pivot Table to start?
       StartPvt = sht.Range("A3").Address(ReferenceStyle:=xlR1C1, External:=True)
    
    'Create Pivot Cache from Source Data
      Set pvtCache = Workbooks("Stock").PivotCaches.Create( _
        SourceType:=xlDatabase, _
        SourceData:=SrcData)
    
    'Create Pivot table from Pivot Cache
      Set pvt = pvtCache.CreatePivotTable( _
        TableDestination:=StartPvt, _
        TableName:="PivotTable1")
    
    End Sub
    En rouge ou l'erreur se produit.

    Un grand merci à vous pour votre aide.

  2. #2
    Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Décembre 2013
    Messages : 51
    Points : 50
    Points
    50
    Par défaut
    C'est ok j'ai trouvé pourquoi. Le nom de la feuille de mon classeur principal doit avoir le même nom que la feuille du classeur "Stock".

Discussions similaires

  1. Erreur 1004, VBA et Tableau Croisé Dynamique
    Par manu.68 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 25/02/2012, 08h59
  2. [VxiR2] Erreur #VALEURMULTI dans un tableau croisé
    Par fguin dans le forum Webi
    Réponses: 5
    Dernier message: 09/09/2009, 15h03

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