Tri Graphique Dynamique VBA

Bonjour,

Je cherche à faire une macro qui va permettre de mettre à jours mets 8 graphiques .

je rentre la date : du XX/XX/XXXX au XX/XX/XXXX et j'appuie sur le bouton valider et sa me met à jour mes graphiques .

voir le fichier .

34tdc.zip (206.68 Ko)

Avez-vous la solution pour réaliser ceci ?

merci

bonjour

avec des TCD et une chronologie qui pilote les 2 TCD

ajoute un graphique par TCD

aucun besoin de VBA ni aucune formule

amitiés

12classeur1.xlsx (26.01 Ko)

bonjour

avec des TCD et une chronologie qui pilote les 2 TCD

ajoute un graphique par TCD

il FAUT apprendre les TCD et leurs fonctionnalités, tu apprendras VBA dans un an ou 2.

aucun besoin de VBA ni aucune formule

amitiés

Bonjour,

Merci de joindre un fichier sans liens externes.

Cdlt.

bonjour,

j'ai excel 2010 donc j'ai pas accès à "insérer une chonologie" c'est pour cela qu avec une petite macro qui va me permettre de filtrer par date du XX/XX/XXXX au XX/XX/XXXX mes graphiques

ne te laisse pas arrêter par un si petit souci

fais une "colonne de pointage"

je te fais un exemple d'ici 10 minutes

re

saisis des dates dans les cellules en jaune

amitiés

19classeur1.xlsx (25.80 Ko)

Re,

Ton profil indique que tu utilises Excel 2016 et tu écris que tu utilises Excel 2010.

Je travaillais sur une solution Excel 2016.

Bonne continuation.

Cdlt.

re

Jean-Eric

mon dernier exemple avec colonnes de pointage fonctionne sur toutes les versions, et sur OOO et même sur tablettes et smartphones

les colonnes de pointage sont un principe hyper-puisant, très simple et très fiable. Modifiable sans souci par un collègue, dans 1 an ou dans10 ans

amiités

j'ai trouver un code mais jarrive pas a le faire fonctionner

Option Explicit

Public Sub FilterReport()
Dim pt As PivotTable
Dim sStart As String, sEnd As String
    Application.ScreenUpdating = False
    sStart = Format([N7], "dd/mm/yyyy")
    sEnd = Format([N8], "dd/mm/yyyy")
    For Each pt In ActiveSheet.PivotTables
        With pt
            .ManualUpdate = True
            .PivotCache.Refresh
            .ClearAllFilters
            Select Case pt.Name
                Case "TCD_1", "TCD_2", "TCD_4", "TCD_5"
                    .PivotFields("Date").PivotFilters.Add _
                            Type:=xlDateBetween, _
                            Value1:=sStart, _
                            Value2:=sEnd
                Case Else
                    '
            End Select
            .ManualUpdate = False
        End With
    Next pt
End Sub

re

utilise Excel, pas besoin de VBA

amitiés

Re,

Une proposition à étudier.

9tdc.xlsm (91.02 Ko)

1 - Les données ont été mises sous forme de tableau

2 - Regarde les formules en feuille Dashboard (Cellule B5, etc...)

3 - La procédure de filtre pour l'intervalle de dates est :

Public Sub PivotFiltersAdd()
Dim wb As Workbook, ws As Worksheet, pt As PivotTable, n As Long
Dim startDate As String, endDate As String

    Application.ScreenUpdating = False

    Set wb = ActiveWorkbook
    Set ws = wb.Worksheets("Dashboard")

    With ws
        startDate = CStr(.Cells(5, 11))
        endDate = CStr(.Cells(5, 14))
    End With

    wb.Worksheets("TCDs").PivotTables(1).RefreshTable

    For Each ws In wb.Worksheets
        For Each pt In ws.PivotTables
            With pt.PivotFields("Date")
                .ClearAllFilters
                .PivotFilters.Add _
                        Type:=xlDateBetween, _
                        Value1:=startDate, _
                        Value2:=endDate
            End With
        Next pt
    Next ws

End Sub

4 - Je n'ai pas modifié les graphiques !...

5 - Ton classeur de 2.64Mo est maintenant de 91ko.

A te relire.

Cdlt.

c'est bon j'ai trouver merci quand même :

Sub Macro3()
'
' Macro3 Macro
'

'
Dim debut, fin As String
Sheets("DASHBOARD").Select
debut = Format([K5], "dd/mm/yyyy")
fin = Format([N5], "dd/mm/yyyy")
Sheets("TDC").Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("DATE"). _
        ClearAllFilters
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("DATE"). _
        PivotFilters.Add Type:=xlDateBetween, Value1:=debut, Value2:= _
        fin

End Sub
Rechercher des sujets similaires à "tri graphique dynamique vba"