Utilisation d'un tableau virtuel ?

Bonsoir le Forum,

Je suis devant un petit problème,

Dans ma base de donnée je dois réaliser une impression quotidienne des mouvements "Stock", par Code produit,N°Lot et faire la somme de chaque ligne identique correspondant au critère ci-dessus. J'ai tenté par filtre classique sur l'onglet mais je n'ai pas la somme total, du coup je suis passé par un TCD mais je n'arrive pas à rendre dynamique les différents filtres automatique (Sélection de la date du jour, du mouvement stock, etc...), donc en fouillant un peu sur le net, j'ai vu que l'on pouvait utilisé des tableaux virtuels qui permettent d'obtenir très rapidement le résultat et sans intervention de l’utilisateur Mais voilà c'est un outil que je ne maîtrise pas du tout,

Si une âme généreuse pouvait jetez un oeil,

Bonjour,

Une proposition ?

Cdlt.

Bonjour Jean Eric,

Merci pour cette solution en TCD, j'étais arrivé au même résultat de mon coté, mais j'aimerai pouvoir rendre cela automatique sans que l'utilisateur est besoin de modifier tout les jours les filtres du TCD, Et je n'ai pas réussi via du code vba a automatiser le TCD pour que par défaut les critères. Date du jour et Stock soit sélectionnés.

C'est pour cela que j'ai pensé à un tableau virtuel,

Si vous avez d'autres idées je suis preneur, je seches,

Merci

Re,

Une nouvelle proposition à étudier.

Cdlt.

4edlede-2007.xlsm (28.74 Ko)
Option Explicit

Private Sub Worksheet_Activate()
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim strPI As String

    Application.ScreenUpdating = False
    Set pt = Me.PivotTables(1)
    With pt
        .ManualUpdate = True
        Set pf = .PivotFields("Date"): strPI = Format(Date, "m/d/yyyy")
        With pf
            For Each pi In .PivotItems
                pi.Visible = (pi.Name = strPI)
            Next
        End With
        Set pf = .PivotFields("Mouvement"): strPI = "Stock"
        With pf
            For Each pi In .PivotItems
                pi.Visible = (pi.Name = strPI)
            Next
        End With
        .ManualUpdate = False
    End With

End Sub

Super Jean Eric,

Ca fonctionne Nickel j'ai juste rajouté

ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh

pour un rafraichissement complet des données, mais ta gestion des filtres est impeccable, ( je comprend mieux pourquoi mon code ne fonctionnais pas.) donc finalement pas besoin de tableau sous vb

Je refais une baterrie de test et si tout va bien je valides

Re,

Préféré :

pt.PivotCache.Refresh

Merci, mais ca ne fonctionne pas par contre j'ai transposé le tout sur mon fichier initiale, et je n'arrive pas à définir dans le gestionnaire de nom le Tableau 1 ( avec l'icone bleu) j'ai toujours une plage fixe.... du coup j 'ai définis que par colonne.

Et lorsque je sélectionne l'onglet "StockToDay" ( qui remplace l'onglet resultat de mon exemple ) le code s'arrête

      pi.visible = (pi.Name = strPI)

impossible de définir la classe visible .....

Es ce parce que je n'ai qu'une date dans mon onglet("DATA")?

Si tu as encore le courage de jetez un œil,

Re,

Tu mets tes données sous forme de tableau puis tu modifies les données sources du TCD en sélectionnant ce dernier.

Cdlt.

Bravo Jean eric,

J'ai transpiré une bonne partie de l’après midi, mais ça fonctionne aux petits oignons.

je valides,

Et encore merci pour ton aide, je vais peut êtres me lancer dans des tcd plus souvent

A bientôt,

Rechercher des sujets similaires à "utilisation tableau virtuel"