Mise en forme visuelle TCD

Bonjour,

Un peu d'explications.

ALT F11 pour ouvrir l'éditeur VBE

Voir Module modCreatePT

Cdlt.

Public Sub Create_PivotTable()
'Déclaration des variables
Dim wb As Workbook
Dim wsData As Worksheet
Dim lo As ListObject
Dim PTCache As PivotCache
Dim PT As PivotTable

    With Application
        .DisplayAlerts = False
        .ScreenUpdating = False
    End With
    'Initialisation des variables
    Set wb = ActiveWorkbook
    Set wsData = wb.Worksheets("Data")
    'Tableau1 dans la feuille Data (voir gestionnaire de noms)
    'Il est seul dans cette feuille. Pas besoin de le nommer, on utilise son index.
    'C'est la source du tableau croisé dynamique (TCD) que l'on veut créer.
    Set lo = wsData.ListObjects(1)
    'Suppression feuile 'Pivot Table'
    On Error Resume Next
    wb.Worksheets("Pivot Table").Delete
    On Error GoTo 0

    Application.DisplayAlerts = True
    'Création feuille 'Pivot Table'
    wb.Worksheets.Add(after:=wb.Worksheets(wb.Worksheets.Count)).Name = "Pivot Table"
    ActiveWindow.DisplayGridlines = False
    'Création cache du tableau croisé dynamique (données source du TCD)
    Set PTCache = wb.PivotCaches.Create(SourceType:=xlDatabase,SourceData:=lo.Range)
    PTCache.MissingItemsLimit = xlMissingItemsNone
    'Création TCD
    Set PT = PTCache.CreatePivotTable(TableDestination:=Cells(3, 1), TableName:="PT_1")

Haaaaa oui merci d'avoir surligné ! j'avais pas fait attention que lo avait été déclaré avant ! Merci je comprends mieux

Vous êtes au top ! J'vais avoir un truc super grâce à vous

Merci beaucoup

Bon.

Du coup j'ai essayé de mettre en pratique mais il y a des points ou j'ai encore de la peine. (c'est dur à prendre en main ces petites choses dit donc )

Pour rentrer dans la question que j'avais posé précédemment à Jean-Eric, J'ai différents moyens de mesures. J'essaie de faire le budget pour chaque centres de chaque secteur.

Le problème c'est que certains moyens sont imputés aux frais généraux alors que d'autres sont des investissements.

Si c'est imputable aux FG, c'est noté à coté du nom du moyen de mesure. Sinon, c'est investissement.

Je ne sais pas comment faire en sorte d'avoir une somme différentes, pour chaque centre, en fonction de si c'est FG ou INV (c'est clair ? ou pas ? )

Voici le fichier avec mes données :

15zohtcdtest.xlsx (21.48 Ko)

S'il faut que je crée un nouveau sujet pour ça, dites-le moi ^^' j'ai eu du mal à déterminer si c'était nécessaire ou pas.

il faut toujours ajouter des colonnes (ici type d'achat FG ou INV), et ne jamais éclater un tableau

ensuite un simple TCD fera des vues (et des sommes ) selon tes besoins

Le problème c'est que c'est propre au moyen de mesure et non pas a un centre.

J'ai du mal à visualiser comment faire dans mon cas.

Mais j'avais très bien compris sur l'exemple de Jean-Eric. Je ne sais juste pas comment l'appliquer à mes données :/

Désolée de vous embêter

Edit :

Alors. J'ai trouvé la solution à ma question avec les champs calculés ! C'est génial les TCD c'est super puissant je pensais pas ! (et qu'est-ce que ça m'évite tout plein de tsoin tsoin en VBA)

Merci beaucoup à vous de m'avoir montré comment les utiliser.

Re

Alors, j'ai un TCD tout beau qui contient tout ce que je veux. Et j'ai mes données d'un autre coté. La seule difficulté que j'ai encore, c'est comment créer la source pour le TCD. Tu as dit que je devais faire des liaisons sur mon onglet contenant les données mais j'avoue que je ne sais pas du tout comment faire ça

jmd a écrit :

2/ créer un autre xlsx Exploitation.xlsx, contenant un onglet MIR miroir de Donnees.xlsx (il contient de simples liaisons vers les données, penser à mettre une plage très longue parce que les données vont grandir durant les années à venir). Mettre MIR sous forme de tableau.

Créer les TCD dans d'autres onglets de Exploitation.

re

tu as un fichier Données contenant des données (saisies au clavier ou venant d'un export de progiciel)

dans un autre fichier (je le nomme Exploitation) tu crées un onglet nommé MIR.

ouvre Données et Exploitation

clique en A1 de MIR

tape =

vas dans Données et clique dans A1. Valide. Ceci crée une liaison.

dans MIR étends cette zone de A1 vers Z1 (moins ou plus loin selon le nombre de colonnes de Données)

étends aussi vers le bas, très bas car Données va grandir avec les années

c'est terminé. MIR est un miroir des données.

tu peux créer des onglets dans exploitation et y mettre des TCD (dont la source est une grande zone de MIR)

Haaaaaa d'accord ! je vois merci. Je ne comprenais pas ce que tu entendais par "liaison" c'est plus clair maintenant. ça marche super bien.

Seul léger soucis, les cellules vides de "MIR" contiennent "0" donc y'a pleins de "0" partout. Est-ce qu'il y a moyen de faire en sorte que quand c'est vide ça affiche rien plutôt que 0 ?

Merci beaucoup beaucoup pour tes réponses ! je suis contente de comprendre mieux le fonctionnement de tout ça.

à moins que ce soit réellement gênant, laisse les zéros

à quoi bon se compliquer la vie ?

Re,

Bon c'est vrai que c'est plutôt du chipotage. ça gène pas tant que ça. Et avec le filtre je peux les masquer donc ça va.

Hm.. Un autre problème. Il arrive que dans "Donnees" je doivent supprimer une ligne. Sauf que dans Exploitation du coup ça fait des erreurs dans les cellules marquées "#REF" alors que ça ne devrait pas être gênant si j'efface une ligne non ? Je veux dire, la référence existe toujours sauf que la données à l'intérieur à juste changé non ?

re

pour quelle raison dois-tu supprimer des données ?

(un miroir montre les cicatrices d'un visage, n'est-ce pas ? ) est-ce gênant de conserver des #REF ?

Bha ça faisait moche dans le TCD et ça empêchait de voir certaines sommes.

Mais du coup j'ai résolu le problème en supprimant avec .ClearContents

plutôt qu'avec .Delete

J'ai un joli fichier tout beau qui marche super bien !

Merci beaucoup

Rechercher des sujets similaires à "mise forme visuelle tcd"