Pouvez vous m'aider svp
Je souhaiterais connaitre les lignes de macros qui me permettrait de mettre à jour plusieurs tableaux croisés dynamiques d'une feuille excel
Bonjour,
le code ci-dessous devrait répondre à ton besoin, à placer dans le module "thisworkbook", se déclenche à l'ouverture du classeur et réactualise tous les tcd de ce même classeur...
Code:
Option Explicit
Private Sub Workbook_Open()
Me.RefreshAll
End Sub
OK merci pour cette réponse qui fonctionne parfaitement
Par contre je souhaiterais faire la màj des mes tcd avec un commandbutton click
Dans ce cas quel serait la macron à mettre en place
pour un rafraichissement automatique du TCD sans devoir utiliser un bouton, il est préférable d'utiliser ceci:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
' A2:C19 étant la zone de données prise en compte dans le TCD
' à adapter selon les besoins
If Not Intersect(Target, Range("A2:C19")) Is Nothing Then
ThisWorkbook.RefreshAll
End If
End Sub
pour un rafraichissement automatique du TCD sans devoir utiliser un bouton, il est préférable d'utiliser ceci:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
' A2:C19 étant la zone de données prise en compte dans le TCD
' à adapter selon les besoins
If Not Intersect(Target, Range("A2:C19")) Is Nothing Then
ThisWorkbook.RefreshAll
End If
End Sub
Il me semblait que Dav voulait mettre à jour plusieurs TCD du même classeur... Sinon pour lier le rafraichissement aux données et actualiser uniquement le tcd en question :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A2:C19")) Is Nothing Then
Sheets("NOmFeuilleTCD").PivotTables(1).PivotCache.Refresh
End If
End Sub
si tcd positionné sur même feuille que les données, remplacer "Sheets("NOmFeuilleTCD")" par "Me"