Créer un graphique à choix multiples

Bonjour,

Je suis bloqué sur un (gros) sujet...:

Je dois analyser différents restaurants entres eux, sur différentes années, mois par mois. Mon tableau me le permet, mais je n'arrive pas à avoir un graphique qui me permette de le faire simplement. A l'aide de filtre, je masque les années qui ne m'intéressent pas, idem pour les restaurants (bonne lecture sur mon tableau).

Ceci dit, même si j'ai 3 années et 3 restaurants, cela fait 3 restaurants*3ans = 9 barres sur le graphique par mois. C'est donc illisible.

Ce que je voudrais, c'est avoir un graphique sur lequel je pourrais choisir uniquement une année (ou 2 ou 3...) et 2 restaurants (ou 2 ou 3) indépendamment des filtres.

Est-ce possible?? Je sais que c'est faisable avec les graphiques croisés dynamique, mais avec ma structure de tableau je n'ai pas réussi à le faire...

Exemple ci-joint... Tout est automatisé via un autre doc donc il y a des formules #DIV/O!...

Merci pour votre aide !!

Bien à vous,

MaFeO

Bonsoir,

En faisant les filtres que tu veux dans le TCD (Tableau Croisé Dynamique), tu obtiens les courbes que tu veux.

Regarde le fichier joint

Bon courage

Bonjour,

Une autre proposition, basée elle aussi sur un TCD et un GCD, en normalisant au préalable les données en tableau.

Cdlt.

Option Explicit
Option Private Module

Public Sub Consolider_donnees()
Dim wb As Workbook
Dim wsSource As Worksheet, wsCible As Worksheet
Dim lastRow As Long, lastCol As Long
Dim i As Long, j As Long, lRow As Long
Dim lo As ListObject
Dim ptCache As PivotCache
Dim pt As PivotTable
Dim rngChart As Range
Dim objChart As ChartObject
Dim calcMode As XlCalculation

    With Application
        calcMode = .Calculation
        .Calculation = xlCalculationManual
        .DisplayAlerts = False
        .ScreenUpdating = False
    End With

    Set wb = ActiveWorkbook
    Set wsSource = wb.Worksheets("Cumuls")
    lastCol = 16: lRow = 2
    On Error Resume Next
    wb.Worksheets("Données révisées").Delete
    On Error GoTo 0
    Application.DisplayAlerts = True

    wb.Worksheets.Add After:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = "Données révisées"
    [A1:D1] = Array("Year", "Months", "Restaurants", "Revenues")
    lastRow = wsSource.Cells(Rows.Count, 2).End(xlUp).Row

    For i = 5 To lastRow
        For j = 5 To lastCol
            If VarType(wsSource.Cells(i, j)) <> 10 And wsSource.Cells(i, j) > 0 Then
                Cells(lRow, 1) = wsSource.Cells(i, 2)
                Cells(lRow, 2) = wsSource.Cells(4, j)
                Cells(lRow, 3) = wsSource.Cells(i, 4)
                Cells(lRow, 4) = wsSource.Cells(i, j)
                lRow = lRow + 1
            End If
        Next j
    Next i

    Set lo = ActiveSheet.ListObjects.Add(xlSrcRange, Cells(1).CurrentRegion, , xlYes)
    lo.Name = "Table1"
    Set ptCache = wb.PivotCaches.Create(xlDatabase, lo.Range, 3)
    Set pt = ptCache.CreatePivotTable(Cells(6), "PT_1", , 3)
    pt.ManualUpdate = True
    pt.AddFields _
            RowFields:="Months", _
            ColumnFields:="Restaurants", _
            PageFields:="Year"
    With pt.PivotFields("Revenues")
        .Orientation = xlDataField
        .Function = xlSum
        .NumberFormat = "#,##0"
        .Caption = "Revenues "
    End With
    With pt
        .RowAxisLayout xlTabularRow
        .PivotFields("Months").ShowAllItems = True
        .ColumnGrand = True
        .RowGrand = True
        .ManualUpdate = False
        Set rngChart = .TableRange2
    End With

    Set objChart = ActiveSheet.ChartObjects.Add(Left:=310, Top:=300, Width:=800, Height:=400)
    With objChart.Chart
        .SetSourceData Source:=rngChart
    End With

    ActiveWorkbook.ShowPivotTableFieldList = False
    ActiveWindow.DisplayGridlines = False
    Application.Calculation = calcMode

    Set objChart = Nothing
    Set rngChart = Nothing
    Set pt = Nothing
    Set ptCache = Nothing
    Set lo = Nothing
    Set wsCible = Nothing: Set wsSource = Nothing
    Set wb = Nothing

End Sub

Merci cousinhub, Merci Jean-Eric.

Ce que je recherche correspond plus à ce qu'à réalisé Jean-Eric.

En revanche, sur mon doc, j'ai beaucoup plus de catégories (revenues, food cost, beverage cost etc...). Je ne suis (vraiment) pas doué en macro...

Est-ce possible d'avoir le tri dans l'onglet "données révisées" (colonnes A à D) du document Graphique choix multiple v2 sans macro?

Ci-joint le doc V2 et le doc complet que j'ai à trier (Graphique choix multiple complet) pour que vous compreniez mieux.

Merci pour votre aide et vos retours qui ont été très rapides !

Bien à vous,

Matthieu

Bonjour,

je ne comprends pas tout de ta demande.

Je te joins cependant la mise à jour de mon précédent fichier qui inclut maintenant les différents items.

Mais on ne traite toujours que les données valides (valeurs différentes de #DIV/0! et > à zéro).

Cdlt.

Bonjour,

Merci pour votre retour Jean-Eric.

Mon souhait est d'avoir un graphique par catégorie (revenue, food cost, beverage cost etc) et de pouvoir choisir les années / restaurants que je souhaite analyser. Dans un premier temps, je masquerais les années non exploitées (à date de 2016 à 2021) et les restaurants non exploités (par exemples les restaurants 6 et 7 pas encore ouverts) à l'aide du filtre sur le tableau.

Dans un second temps, les graphiques devrons me permettre d'avoir une meilleure visibilité pour comparer les restaurants. Je voudrais alors choisir sur le même graphique: les revenues des restaurants par mois pour 2012, 2013, puis dans un second temps pour 2012 et 2014, puis pour 2012, 2013, 2014 etc.

Avec votre méthode, les montants du graphique ne sont pas les bons... Avec plusieurs années, il me semble que ça se cumule...

Je ne sais pas si j'ai pu m'expliquer correctement...!

Ci-joint le document final que je vais utiliser, avec le graphique (trop compliqué à lire) que j'ai à date pour analyser une catégorie (onglet cumul, tout en bas).

Votre aide sera vraiiiiment appréciée !!!

Je vous remercie,

Bien à vous,

MaFeO

Re,

J'ai bâti le TCD sur tes données précédentes, en ajoutant les items.

On peut éventuellement revoir sa conception. Faut-il encore savoir précisément les analyses et les graphiques que tu souhaites?

Le TCD construit est malléable à souhait. Les années peuvent passer en champ de lignes ou de colonnes, etc...

Je t'enjoins à regarder les différentes options qui te sont proposés. Puis tu reviens vers moi.

Sinon, ton document final est où?

Peux-tu aussi préciser les versions d'Excel à privilégier? Les segments (slicers) sont apparus avec Excel 2010.

A te relire.

Cdlt.

Re,

J'utilise Excel 2010.

Les graphiques que je veux:

1 par catégorie (à savoir revenue, average check, food ratio etc....), classé en mois sur les abscisses et en montant sur les ordonnées. Par mois il y aura les données de chaque restaurant sélectionnée pour les années sélectionnées. Expl: je choisi 2012, 2013 et 2014, pour les restaurants 1, 2 et 3. En janvier j'aurais: montant 2012 des restaurant 1, 2 et 3 (soit 3 barres pour 2012), montant 2013 des restaurants 1, 2 et 3 (soit 3 barres pour 2013) et montants 2014 des restaurants 1, 2 et 3. Dans cet exemple il y aura donc 9 barres par mois (déjà compliqué à lire). Idem pour février, mars etc. décembre.

C'est parce que c'est compliqué à lire que je voudrais pouvoir sélectionner facilement les années/restaurants sur le graphique, parce qu'un jour je voudrait comparer les données de 3 restaurants sur la même année, le jour suivant je voudrais comparer l'évolution de 2 restaurants entre 2 ou 3 années etc...

Le tableau de l'onglet cumul doit rester tel quel (je peux bien sur passer par un autre onglet pour retravailler les données)...

Je bloque vraiment...

Merci pour votre aide,

Bien à vous,

MaFeO

Bonjour à tous,

Est-ce que quelqu'un a pu trouver une solution à mon problème ?

Je vous remercie pour votre aide,

Bien à vous,

MaFeO

Bonjour,

Est-ce que quelqu'un a pu étudier ce problème ? Je suis sur de ne pas être le seul à avoir ce besoin...

merci,

Bien à vous,

Matthieu

Rechercher des sujets similaires à "creer graphique choix multiples"