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 :

Problème lors de la création de tableau croisé dynamique avec vba [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 611
    Points : 359
    Points
    359
    Par défaut Problème lors de la création de tableau croisé dynamique avec vba
    Bonjour,

    Je cherche à créer un tableau croisé dynamique à partir d'une base de données stockée dans la feuille nommée 'Charge'.

    En colonne, je souhaite avoir en ligne la colonne nommée 'Département' (colonne C de ma base de données) et en colonne la colonne nommée 'Semaine' (colonne B de ma base de données). Ma donnée est la somme de la colonne 'Temps restant' (colonne J de ma base de données).
    Les entêtes de colonne de ma base de données sont situées en ligne 7.

    Ces informations sont stockées dans le même classeur dans la feuille nommée 'TCD'.

    J'ai positionné ce morceau de code derrière le bouton situé sur ma base de données après la constitution de celle-ci.

    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
     
     
     lig = lig - 1
     
       ActiveSheet.PivotTableWizard _
       SourceType:=xlDatabase, _
       SourceData:="Charge!A7J7:A" & lig & "J" & lig, _
       TableDestination:="TCD!A1C1", _
       TableName:="MonTCD"
     
       ActiveSheet.PivotTables("Tableaucroisédynamique").AddFields RowFields:= _
       "Département", ColumnFields:="Semaine"
     
       With ActiveSheet.PivotTables("Tableaucroisédynamique").PivotFields("Montant")
             .Orientation = xlDataField
             .Caption = "Temps restant"
             .Function = xlSum
             .NumberFormat = "# ##0"
       End With
    J'ai le message "PivotTableWizard de la classe Worksheet a échoué". (erreur d'exécution 1004).

    Je ne sais pas comment m'y prendre pour résoudre ce problème.

    Julien.

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,

    A priori il y a un problème dans ta place source

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SourceData:="Charge!A7J7:A" & lig & "J" & lig, _
    Je connais pas de cellule A7J7

    Ne serait-ce pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SourceData:="Charge!A7:J" & lig, _
    A+
    N'oubliez pas le si votre problème est solutionné.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/09/2012, 20h12
  2. Création d'un tableau croisé dynamique avec base données variable
    Par div20 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/01/2012, 23h43
  3. [Toutes versions] Problème d'intégration champs dans un tableau croisé dynamique
    Par astridlet dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/12/2010, 17h59
  4. Réponses: 2
    Dernier message: 04/11/2010, 17h42
  5. Réponses: 16
    Dernier message: 01/06/2008, 20h01

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