Maj Automatique Tcd

Sophie1212

XLDnaute Nouveau
Bonjour,
Je souhaiterai que mon tableau croisé dynamique se mette automatique à jour dès qu'une modification est faite dans le tableau source, soit par le biais d'une macro ou non, et sans utiliser le clic droit "actualiser les données"
Mon tableau source est dans la même feuille que le TCD.
J'ai cherché dans le forum mais n'ai pas trouvé de réponse adaptée à mon cas...
Merci de votre aide
 

Cousinhub

XLDnaute Barbatruc
Re : Maj Automatique Tcd

Bonjour
par macro
Clic droit sur le nom de l'onglet, Visualiser le code
Colle cette procédure à adapter
Ici, j'ai supposé que tes données se situaient de A1 à B13
Et que le TCD s'appelait Tableau croisé dynamique1

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("[COLOR="Red"]A1:B13[/COLOR]")) Is Nothing Then
    Me.PivotTables("[COLOR="Red"]Tableau croisé dynamique1[/COLOR]").PivotCache.Refresh
End If
End Sub
 

Sophie1212

XLDnaute Nouveau
Re : Maj Automatique Tcd

Désolée je ne suis pas une pro de VBA
Le code que j'utilise ?? j'ai collée tes infos en changeant la plage de cellule
Coller à nouveau de code que tu m'as donner... dans le module standard. Pas très clair pour moi. Désolée....
 

Cousinhub

XLDnaute Barbatruc
Re : Maj Automatique Tcd

Re-
je t'ai mis ce code pour être sûr que les évènements n'étaient pas désactivés dans ton fichier

Dans l'éditeur VBE (Alt + F11), tu fais un clic droit sur ton classeur dans la fenêtre de gauche, puis insertion/Module
tu colles ce code, puis tu fais F5

Peux-tu copier le code que tu as modifié, et le mettre ici?
 

Sophie1212

XLDnaute Nouveau
Re : Maj Automatique Tcd

Voilà le code

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("BC25:BE29")) Is Nothing Then
Me.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
End If
End Sub

Sub remet_evenements()
Application.EnableEvents = True
End Sub

En cliquant sur le bouton "play" dans VB pour le 1er ça m'ouvrant une fenêtre en me demandant "nom de la macro". Je vois bien le 2e mais rien pour le 1er

J'espère que ça t'aidera à y voir clair...
 

Cousinhub

XLDnaute Barbatruc
Re : Maj Automatique Tcd

Re-,
si tu pouvais joindre ton fichier, ce serait top

Autrement :

Clic droit sur le nom de l'onglet, Visualiser le code
Le code de la feuille apparait...
Tu cliques à gauche dans la marge, juste devant "If Not Intersect"
Apparait un point marron, c'est un point d'arrêt. Toute la ligne passe en marron
Tu retournes sur ta feuille et tu modifies une cellule de la feuille, entre BC25:BE29, normalement le code doit apparaitre, en jaune sur cette ligne
Tu fais F8, et regarde si ça passe à la ligne du dessous, et non à End if

Au fait, les cellules à modifier sont bien celles-là, ce n'est pas l'adresse du TCD?
 

Sophie1212

XLDnaute Nouveau
Re : Maj Automatique Tcd

Ca y est j'ai trouvé la solution !!!
En fait j'ai un tableau de données et 1 tableau intermédiaire entre mon tableau de données et le TCD.
La plage de référence que je t'ai donné est celle du tableau intermédiaire et il faut mettre les ref du tableau de données...
Merci encore de ton aide
 

Discussions similaires

Réponses
5
Affichages
196
Réponses
3
Affichages
278