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 :

faire un TCD à partir de plusieurs feuilles


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Points : 99
    Points
    99
    Par défaut faire un TCD à partir de plusieurs feuilles
    Bonjour

    j'ai un problème j'ai un classeur composé de 5 feuilles, les 5 feuilles correspondent à un fournisseur

    j'aimerai bien faire un tableau croisé dynamique ressemblant aux tableaux de contingeance joint (pour comprendre l'interêt du tableau, il sera judicier de jetter un coup d'oeil sur la formule)

    Avec deux critères de recherches: la ville et l'évènement

    Si c'est possible j'aimerais également comprendre et savoir comment faire

    voilà Merci d'Avance

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut,il y a des tutos à consulter dans la FAQ http://excel.developpez.com/faq/?page=TCD et pour 2007 http://silkyroad.developpez.com/excel/tcd/

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Points : 99
    Points
    99
    Par défaut
    malheureusement j'ai cherché sur les tutos et je n'ai pas trouvé les réponses
    à mes questions

    Enfin si mais j'ai excel 2003 et je dois dire que je n'ai pas vraiment compris le tuto

    Comment créer un TCD à partir de plusieurs feuilles différentes, dans Excel 2007 ? [haut]

    auteur : SilkyRoad
    Cette question revient souvent, suite au passage à Excel2007.
    En fait il suffit d'ajouter le bouton "Assistant tableau croisé dynamique" dans la barre d'outils accès rapide.

    Cliquez sur le bouton "Office".
    Cliquez sur le bouton "Options Excel".
    Sélectionnez l'option "Personnaliser".
    Dans le menu déroulant "Choisir les commandes dans les catégories...", sélectionnez l'option "Commandes non présentes dans le ruban".
    Recherchez la commande "Assistant tableau croisé dynamique".
    Sélectionnez la commande et cliquez sur le bouton "Ajouter" pour qu'il apparaisse dans la barre d'outils d'accès rapide.
    Cliquez sur le bouton OK pour valider.

    Vous pouvez ensuite utiliser l'assistant pour créer des TCD, depuis la barre d'outils d'accès rapide:
    Sélectionnez "Plages de feuilles de calcul avec étiquettes".
    et puis le code VBA j'ai vraiment vraiment rien compris

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Sub CreationTCD_MultiPage()
        'Testé sous Excel 2007
        Dim NomFeuille As String
        Dim i As Integer
        Dim RefPlage As String, Cible As String
        Dim Tableau() As String
        Dim ListeFeuilles As Variant
     
        Application.ScreenUpdating = False
     
        'Liste de feuilles contenant les données.
        'Pour cet exemple, les données sont dans la plage A1:B6 de chaque feuille (en-tête compris).
        ListeFeuilles = Array("Feuil1", "Feuil2", "Feuil3")
     
        'Définit la taille du tableau pour stocker l'adresse des sources
        'de données.
        ReDim Preserve Tableau(1 To UBound(ListeFeuilles) + 1, 1 To 2)
     
        'Boucle sur le nom des feuilles pour créer la référence des sources
        'Style: Feuil1!R1C1:R6C2, Feuil2!R1C1:R6C2 ... etc ...
        For i = LBound(ListeFeuilles) To UBound(ListeFeuilles)
            NomFeuille = ListeFeuilles(i)
            RefPlage = Range("A1:B6").Address(ReferenceStyle:=xlR1C1, _
                RowAbsolute:=True, ColumnAbsolute:=True)
            Cible = NomFeuille & "!" & RefPlage
            Tableau(i + 1, 1) = Cible
            Tableau(i + 1, 2) = ListeFeuilles(i)
        Next i
     
        'Crée le TCD dans la cellule A1 de la feuille "Synthese"
        ThisWorkbook.PivotCaches.Add(SourceType:=xlConsolidation, _
            SourceData:=Tableau).CreatePivotTable _
            TableDestination:=Worksheets("Synthese").Range("A1"), _
            TableName:="PivotTable1"
     
     
        Worksheets("Synthese").Activate
        'Mise en forme du TCD
        With ActiveSheet.PivotTables("PivotTable1")
            .ColumnGrand = False
            .HasAutoFormat = False
            .RowGrand = False
            .SmallGrid = False
            .PivotFields(1).PivotItems(1).Position = 1
        End With
     
        Application.ScreenUpdating = True
     
    End Sub
    voilà merci d'avance

  4. #4
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Re,sous Excel 2002 , tu as l'assistant TCD : Menu Affichage/Barre d'Outils/Tableau croisé dynamique.cela devrait être similaire sous 2003 ?

    Ne pas oublier l''enregistreur de macros dont le code sera à optimiser manuellement

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/01/2023, 12h12
  2. Réponses: 2
    Dernier message: 18/03/2013, 10h23
  3. Réponses: 4
    Dernier message: 20/07/2008, 12h01
  4. Réponses: 3
    Dernier message: 07/05/2008, 09h30

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