Mise à Jour TCD??

Askan

XLDnaute Nouveau
Bonjour le forum!
Une question qui paraitra à certains toute simple...Merci donc de votre aide..
Je souhaite pouvoir mettre à jour de façon quotidienne 2 TCD simultanément....Tous les jours, j'insère des lignes supplémentaires à la source de données...Comment pourrais-je faire afin de mettre à jour les 2 TCD(se trouvant sur 2 feuilles diff du classeur) à chaque nouvelle insertion de lignes donc de données???
Merci beaucoup...
 

Celeda

XLDnaute Barbatruc
Re : Mise à Jour TCD??

Bonjour,

Il existe plusieurs manières d'actualiser les TCD, par formules par exemple:

ici un extgrait du Wiki de MichelXLD de la page 9 :


Nommer une base de données dynamiquement
Différentes formules - Impératif !! des étiquettes dans toutes les colonnes

Par Insertion - Nom - Tablo
DECALER($A$1;;;NBVAL($A$1:$A$2000);NBVAL($A$1:$X$1))

(on suppose que le tableau démarre en A1, que les étiquettes de données
soient de A1 à G1, on peut étendre la ligne par exemple à X1, en cas
d'ajout de colonnes, et idem pour le nombre de lignes ==> nommer la base est très pratique)


si on souhaite actualiser ensuite par macro

Actualiser par macro tous les TCDs issus d'une même base de données nomméeà placer dans une module de la feuille
Sub ActualiserTCD()
Dim Tcd As PivotTable
Dim Feuille As Worksheet
Application.ScreenUpdating = False
For Each Feuille In Worksheets
For Each Tcd In Feuille.PivotTables
Tcd.RefreshTable
Next
Next
End Sub
 

Askan

XLDnaute Nouveau
Re : Mise à Jour TCD??

Une autre question qui pourrait expliquer que la macro ne fonctionne...A quoi sert Insertion-Nom, ect...j'ai suivi tes directives Celeda sans savoir à qui sert "Insertion-Nom..."...dois-je activer qq chose avant la macro??
Merci encore
 

julioo

XLDnaute Nouveau
Re : Mise à Jour TCD??

bonjour a tous
askan en fait pour actualiser le tcd en macro tu rentre

Worksheets("TCDG").PivotTables("Tableau croisé dynamique1").PivotCache.Refresh

(en une seule ligne bien sur)
nom de la page qui contien le tcd
numero du tcd SUR LA PAGE

voila
il se peukil qu'excel tengeule parce ke la metode range a échoué; dans ce cas essaye de selectionner une case a linterieur de ton tcd dabord
(sheets("nom de la feuille").Range("nom de la cellule").select )


apres tu a juste besoin de mettre les deux fois la commande en adaptant les noms des feuilles.
attention : deux tcd sur deux pages differentes portent tous deux le meme nom : "tableau croisé dymanique1"
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 779
Messages
2 092 044
Membres
105 164
dernier inscrit
publd2