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 création TCD vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mars 2015
    Messages : 42
    Par défaut Problème création TCD vba
    Bonjour à tous,
    J'ai lu cette discussion.
    C'est exactement le problème auquel je suis confronté...
    Je me suis servi de l'enregistreur de macro pour sortir un bout de code à retoucher... Mais le code me semble correct, cependant à chaque fois que j'essaie le debogueur s'ouvre et me pointe comme erreur la première ligne de code
    J'ai essayé de remplacer le ActiveWorkbook par Sheets, sans résultat...

    Comment donc réussir à activer la commande de création d'un TCD en VBA ?
    Sachant qu'une fois créé toutes les manipulations sur le TCD sont aisées (changement de la plage de données, ajout de colonne etc.)

    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
    Sub CréerTCD()
    '
    ' CréerTCD Macro
    '
     
    '
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "Data!R1C1:R1048576C30", Version:=xlPivotTableVersion14).CreatePivotTable _
            TableDestination:="TCD Soins!R3C1", TableName:="Tableau croisé dynamique2" _
            , DefaultVersion:=xlPivotTableVersion14
        Sheets("TCD Soins").Select
        Cells(3, 1).Select
        Range("A3").Select
        With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Famille" _
            )
            .Orientation = xlRowField
            .Position = 1
        End With
    D'avance merci pour votre aide !

  2. #2
    Membre expérimenté
    Homme Profil pro
    Enthousiaste Excel
    Inscrit en
    Avril 2015
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enthousiaste Excel

    Informations forums :
    Inscription : Avril 2015
    Messages : 155
    Par défaut
    jej,

    Quelle version utilises-tu ?
    Quelle est la ligne qui plante ?

  3. #3
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mars 2015
    Messages : 42
    Par défaut
    J'utilise Excel 2010, la ligne qui plante est le premier bloc commençant par ActiveWorkbook
    Nom : Bug vba.PNG
Affichages : 710
Taille : 28,8 Ko

    C'est l'erreur d'exécution 438 qui s'affiche : 'Propriété ou méthode non gérée par cet objet'

  4. #4
    Membre expérimenté
    Homme Profil pro
    Enthousiaste Excel
    Inscrit en
    Avril 2015
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enthousiaste Excel

    Informations forums :
    Inscription : Avril 2015
    Messages : 155
    Par défaut
    Pur hasard :


    tente

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
            "Data!R1C1:R1048576C30", Version:=xlPivotTableVersion14).CreatePivotTable _
            TableDestination:="'TCD Soins'!R3C1", TableName:="Tableau croisé dynamique2" _
            , DefaultVersion:=xlPivotTableVersion14
        Sheets("TCD Soins").Select
        Cells(3, 1).Select
        Range("A3").Select
        With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Famille" _
            )
            .Orientation = xlRowField
            .Position = 1
        End With

  5. #5
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Mars 2015
    Messages : 42
    Par défaut
    C'est le premier code que me sort l'enregistreur et que j'ai tenté en premier lieu. j'ai juste sur la capture d'écran du bog en jaune rajouté 'au hasard' le Sheets("TCD Soins")... sans succès
    Sur un autre post quelqu'un dit qu'il faut faire attention pour la manipulation de ActiveWorkbook mais sans expliquer en quoi...

  6. #6
    Membre expérimenté
    Homme Profil pro
    Enthousiaste Excel
    Inscrit en
    Avril 2015
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enthousiaste Excel

    Informations forums :
    Inscription : Avril 2015
    Messages : 155
    Par défaut
    Bon, en tout cas, quand tu utilises l'enregistreur de maccro, essayes de ne pas utiliser des nom d'onglet à espace genre "TCD oins"

    Pour traiter ce genre de cas, il faut ajouter des 'TCD Soins' (apostrophe dans les noms de range, pas rajoutée par l'enregistreur.)

    As tu tenté le code précédent ?

Discussions similaires

  1. Problème création TCD vba
    Par jejeaunet75 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/07/2015, 08h33
  2. [AC-2007] [VBA] Problème création de labels dynamiquement
    Par FishAndChips dans le forum IHM
    Réponses: 1
    Dernier message: 19/11/2012, 14h58
  3. [AC-2003] Problème création de requête avec VBA
    Par Sylas dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/11/2012, 14h35
  4. E-XP : création TCD via VBA.
    Par gillou13 dans le forum Excel
    Réponses: 1
    Dernier message: 27/02/2009, 20h42
  5. Problème création de DLL
    Par monsieur.voie.lactee dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/08/2003, 16h56

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