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 :

Tableau croisé dynamique dynamique


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    525
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Août 2005
    Messages : 525
    Par défaut Tableau croisé dynamique dynamique
    Bonjour

    J'ai fais un Tableau croisé dynamique sur plusieurs feuilles mais comme elle vont changer de nom tout en gardant la même architecture, j'aimerai faire un code du type:


    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
     
    Sub Decompte()
     
            Sheets("Décompte").Select
        ActiveWorkbook.PivotCaches.Add(SourceType:=xlConsolidation, SourceData:= _
            Array(Array(Sheets(5).Range("A80:M109"), "Élément1"), Array( _
            Sheets(6).Range("A80:M109"), "Élément2"), Array(Sheets(7).Range("A80:M109") _
            , "Élément3"), Array(Sheets(8).Range("A80:M109"), "Élément4"), Array( _
            Sheets(9).Range("A80:M109"), "Élément5"), Array(Sheets(10).Range("A80:M109") _
            , "Élément6"), Array(Sheets(11).Range("A80:M109"), "Élément7"), Array( _
            Sheets(12).Range("A80:M109"), "Élément8"), Array(Sheets(13).Range("A80:M109") _
            , "Élément9"), Array(Sheets(14).Range("A80:M109"), "Élément10"), Array( _
            Sheets(15).Range("A80:M109"), "Élément11"), Array( _
            Sheets(16).Range("A80:M109"), "Élément12"), Array( _
            Sheets(17).Range("A80:M109"), "Élément13"), Array( _
            Sheets(18).Range("A80:M109"), "Élément14"), Array( _
            Sheets(19).Range("A80:M109"), "Élément15"), Array( _
            Sheets(20).Range("A80:M109"), "Élément16"))).CreatePivotTable _
            TableDestination:="'[répartition globale.xls]Décompte'!R3C1", TableName:= _
            "Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion10
        ActiveSheet.PivotTables("Tableau croisé dynamique2").DataPivotField.PivotItems( _
            "Somme de Valeur").Position = 1
        ActiveWorkbook.ShowPivotTableFieldList = False
    End Sub
    Mais j'ai une erreur "incompatibilité de type". Je me demande aussi s'il n'y a pas un moyen de l'écrire plus simplement avec une boucle for to ?

    Merci pour vos conseils.

  2. #2
    Membre éclairé
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Par défaut
    Pourquoi ne pas faire un fichier template avec un Tableau croisé dynamique type?
    Comme ça pour chaque feuille tu n'as plus qu'a dupliquer cette feuille tampon, et modifier les champs pour avoir le report que tu veux...
    ça évite du code lourd et abstrus !

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/08/2013, 23h10
  2. [MySQL] [PHP/MySQL] Un tableau croisé [quasi] dynamique.
    Par Maljuna Kris dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 17/03/2009, 22h33
  3. tableau croisé dynamique sous delphi, comment ?
    Par Brice Yao dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/07/2005, 09h33

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