TCD et regroupement de date

Anonyme
2019-11-20T21:29:21+00:00

Bonjour,

Je suis à créer une gestion budgétaire personnelle avec du VBA et des tableaux croisé dynamique.

Je tente, à partir de ma base de donnée, de regrouper des dates à partir de mon TCD qui prend sa source dans une base de données.

Voici ce que ça donne :

Comme vue à la première image, j'ai créé une 2e base de données et tenter le regroupement des dates :

Succès, ça fonctionne. Dans les deux bases de données j'ai les même formats de date. J'utilise Excel 2016 sur windows 10.

Dans ma BD réel lorsque je glisse date il met automatiquement les dates dans les lignes. Dans ma BD fictive, il regroupe par année et mois. Je dois dissocier puis regrouper selon mes critères et cela est normale.

Des solutions?

Merci

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

146 réponses

  1. DanielCo 107.7K Points de réputation
    2020-01-09T14:19:13+00:00

    D'accord, parce que je cherchais une ligne de code.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. DanielCo 107.7K Points de réputation
    2020-01-09T14:16:55+00:00

    Copie ces deux macros dans un module et exécute la macro "test1" :

    Sub test1()

      For Each sh In Sheets

        For Each pt In sh.PivotTables

          Debug.Print sh.Name & " " & pt.Name & " " & pt.PivotCache.Index

    '      PTNewCache pt

        Next pt

      Next sh

    End Sub

    Sub PTNewCache(pt)

        Dim wsTemp As Worksheet

    '    Dim pt As PivotTable

    '

    '    On Error Resume Next

    '    Set pt = ActiveCell.PivotTable

    '

    '    If pt Is Nothing Then

    '        MsgBox "Active cell is not in a pivot table"

    '    Else

          Set wsTemp = Worksheets.Add

          ActiveWorkbook.PivotCaches.Create( _

              SourceType:=xlDatabase, _

              SourceData:=pt.SourceData).CreatePivotTable _

              TableDestination:=wsTemp.Range("A3"), _

              TableName:="PivotTableTemp"

          pt.CacheIndex = wsTemp.PivotTables(1).CacheIndex

          Application.DisplayAlerts = False

          wsTemp.Delete

          Application.DisplayAlerts = True

    '    End If

    End Sub

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. DanielCo 107.7K Points de réputation
    2020-01-09T14:11:33+00:00

    Des secondes, heureusement !

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2020-01-09T14:06:15+00:00

    Efficace! J'ai eu un massage  de difficulté de récupérer l'ensemble des données. Voulez-vous poursuivre?

    Est-ce difficile à faire car j'ai avancé dans mon classeur depuis hier?

    Dans ce classeur j'aurai peut-être 2 ou 3 autres tcd.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. Anonyme
    2020-01-09T14:02:05+00:00

    Ce sont des minutes ou des secondes?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire