Actualisation auto d'un TCD

J'ai créé un tableau dynamique à partir de certain nombre de données. Je souhaiterais qu'à chaque fois que des lignes sont ajoutées, elles apparaissent automatiquement dans le tableau croisé dynamique, sans avoir à modifier la plage de données liées à ce tableau.

Exemple avec un tableau en colonne A:B en Feuil1 Insertion > Noms > Définir > Nom dans le classeur : tu l'appelles par ex "tablo" > Fait référence à :
 
=DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A);NBVAL(Feuil1!$1:$1))

Ceci permet de "rendre dynamique" la plage du tableau Ensuite tu fais ton TCD avec l'assistant .
Dans l'étape 2, plage données > tu saisis = tablo
Dans l'étape 3, disposition > tu positionnes tes champs .Options > nom > tu saisis = monTCD
Ensuite pour l'actualiser auto à la saisie : Dans le module attaché à la feuille (clic droit sur l'onglet > visualiser le code) :

Private sub
 Worksheet_SelectionChange(ByVal Target As Range)
 If Target.Column = 2 Then
 ActiveSheet.PivotTables("monTCD").RefreshTable
 end if
 end sub

Auteur :

Mots clefs associés à cette page : , , , , ,

Autre problème

Bonjour :)

J'ai une feuille ou trois colonnes A B et C sont remplies par des rechercheV dans une autre feuille.
J'ai réussi à rendre tout ca dynamique grâce a la fonction Décaler.
Je peux maintenant rafraichir mes TCDs, présents sur la même feuille, qui intègrent les nouvelles données.

Pour info, sur la structure des TCDs :
1/ le premier TCD est la somme des B en fonction de A
2/ le deuxième est la somme des C en fonction de A

Je n'arrive pas à mettre la macro en place pour que les TCDs se rafraichissent tout seuls.
Les deux premières lignes apparaissent en rouge quand je rentre tout ca dans le module de la feuille.
La première surement parce qu'il faut donner un nom.

Quelle macro faut-il que j'écrive? (je suis totalement novice en VBA)Je n'ai pas du tout compris la signification des lignes :
Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2

Une petite explication est toujours la bienvenue :)

J'espère avoir été clair ;)

PS : je suis sous Excel 2007 en anglais.

trop spécifique

Bonjour
Votre question est trop spécifique, merci d'aller sur le forum microsoft answers excel pour la poser.

Misange

message d'erreur

lorsque je fais la formule =Feuil1!$1:DECALER(Feuil1!$1;0;0;NBVAL(Feuil1!:)) j'ai un message d'erreur.je ne maitrise pas assez ces fonctions pour débugguer

merci de votre aide

zebulon

et c'est normal !

... Car il y a un paquet d'erreurs dans cette formule !! Il y a eu des pbs de transfert lorsque j'ai changé l'interface d'excelabo mais celle-ci est carrément toute chamboulée et je ne comprends pas comment le souk a pu s'y mettre à ce point. Toujours est-il que je te remercie de l'avoir signalé et voici la bonne formule.

=DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A);NBVAL(Feuil1!$1:$1))

Misange

merci

c'est impeccable...exactement ce qu'il me fallait!

zebulon