Exploiter un TCD via VBA

Bonjour,

Plutôt novice en VBA, je bute sur un problème que j'espère vous m'aiderez à résoudre.

J'ai une base de données qui me permet d'alimenter un TCD.

La base de données contient des noms de collaborateurs, les heures parcourues par missions et la période de référence.

Mon TCD compile les données avec un filtre sur la période.

Je souhaite via VBA générer une synthèse par trimestre (par copier-collage valeur des données du tcd sur une page vierge sauvegardée).

Mon problème : s'agissant d'une synthèse trimestrielle, je bute sur le code à utiliser pour vérifier que dans ma liste de pivotfields si je n'ai pas les mois 1, 2 et 3, alors j'ai un msg d'erreur.

Le fichier contenant des données confidentielles, je ne peux pas le mettre en PJ

Voici la partie de code concerné qui alimente ma USF mais sans la gestion d'erreur qui m'intéresse : en fait sur le trim, si je n'ai que mai, il me sort la synthèse, mais que sur ce mois....

'gérer une synthèse trim
If OPT_TRIM.Value = True Then
    If OPT_T2.Value = True Then
        Mois1 = "AVRIL"
        Mois2 = "MAI"
        Mois3 = "JUIN"

    With Sheets("TCD_GRAPH")
    .Activate
    .PivotTables("TCD_VACATION").PivotFields("mois").ClearAllFilters 'enlever les filtres existants
    .PivotTables("TCD_VACATION").PivotSelect "mois[All]", xlLabelOnly, _
            True
        With ActiveSheet.PivotTables("TCD_VACATION").PivotFields("mois") 'boucle pour filtrer sur le mois sélectionn
            For i = 1 To .PivotItems.Count

                If .PivotItems(i).Name = Mois1 Then
                    .PivotItems(i).Visible = True
                ElseIf .PivotItems(i).Name = Mois2 Then
                    .PivotItems(i).Visible = True
                ElseIf .PivotItems(i).Name = Mois3 Then
                    .PivotItems(i).Visible = True
                Else
                    .PivotItems(i).Visible = False
                End If
            Next i
        End With
    End With
        Sheets("TCD_GRAPH").Range("a101").CurrentRegion.Select
        Selection.Copy
        Sheets("vacations").Activate
        Sheets("vacations").Range("a5").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                :=False, Transpose:=False

D'avance, je vous remercie pour votre précieuse aide

Bonjour,

pouvez-vous joindre votre fichier ?

merci!

Bonjour, merci de vous intéresser à mon sujet.

Mon fichier contenant des données confidentielles, je ne peux le mettre en pièce jointe.

J'espère que vous pourrez m'aider.

Bonne journée

Bonjour,

Tu crées un petit fichier représentatif de tes données (anonymisé).

C'est un minimum pour une aide adaptée du forum.

Cdlt.

bonjour

salut Jean-Eric

quand on a une belle base de données et de bons TCD, on ne fait pas de sauvegarde autre que la sauvegarde des données

pour avoir des états par trimestres des 10 dernières années, il suffit d'actualiser le TCD (qu'on a "groupé" par trimestre)

c'est de la gestion de données rigoureuse

pas de "copie", pas de VBA

Rechercher des sujets similaires à "exploiter tcd via vba"