Rafraîchir TCD avec macro VBA (click sur une cellule)

Bonjour à tous,

kinders59, les macro sont à copier sur la page code de la feuille "DashBoard"

Private Sub Worksheet_Change(ByVal Target As Range)
's'il y a un changement sur la feuille "DashBoard" dans la cellule  "$B$7$" ou "$B$8$"  mettre le tcd15 à jour
If Target.Address = "$B$7$" Or Target.Address = "$B$8$" Then RefreshTCD15
End Sub

Sub RefreshTCD15()
arrMois = Array("", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
With Sheets("Cross Tabulation")
On Error Resume Next
.PivotTables("Tableau croisé dynamique15").PivotFields("Years").ClearAllFilters
'pour chaque item du champ "Years" du tcd15
   For Each Pi In .PivotTables("Tableau croisé dynamique15").PivotFields("Years").PivotItems
    choixAnnée = CStr(Sheets("DashBoard").Range("B7"))
'    'trouve le mois sélectionner dans les donnée de arrMois et retourne un chiffre entre 1 et 12
    choixMois = Application.Match(Sheets("DashBoard").Range("B8"), arrMois, 0)
     If Pi = choixAnnée Or Month(Pi) = choixMois Then
      Pi.Visible = True
     Else
      Pi.Visible = False
     End If
   Next
End With
End Sub

Bonjour sabV merci de ta réponse

Mon excel étant passé en Anglais (comme tout mon pc sans ma volonté), faut-il que je modifie la formule pour la passer en Anglais ? car de ce que je vois actuellement je n'arrive pas à la faire fonctionner malgré aucun message d'erreur

Ayant déjà une maccro qui me permet lorsque je change de "country" ou "customer" de faire un refresh totale de tous les TCD je ne me suis pas compliqué la tâche finalement en reprenant une partie de ton code (le début) je me suis mit à faire une petite recherche sur le net car je n'arrivais pas à faire fonctionner la tienne, j'ai donc trouvé une formule VBA simple et efficace qui est la suivante :

"Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A1:B100")) Is Nothing Then

Call Mymacro

End If

End Sub"

Mymacro correspond à une macro que j'ai déjà de connue et qui fonctionne sur mon dashboard, elle résout mon problème et ne casse rien donc perfect for me

Encore merci à tous pour vos réponses et votre aide !!

Je vous souhaite une agréable journée et bon courage !

Rechercher des sujets similaires à "rafraichir tcd macro vba click"