Actualisation auto d'un TCD
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 subAuteur : Alain Vallon
Mots clefs associés à cette page : tcd, tableau, dynamique, automatique, auto, actualiser
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

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