|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 57 ![]() |
Bonjour,
Je débute en macro. Je créer une macro qui fait à peu près cela : - importation de données dans un onglet "données" - création de colonnes supplémentaires - mise à jour d'un tableau dynamique basé sur les données de l'onglet "données". le tableau est déjà créé dans le fichier Excel et je souhaite juste le mettre à jour. Mon problème est qu'à la mise à jour il ne trouve plus certaines colonnes de données. Je le mets à jour avec le code suivant Code :
ThisWorkbook.Worksheets("Nb de ligne par user").PivotTables("TD1").PivotCache.Refresh Merci d'avance DaD |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : octobre 2008 Messages : 327 ![]() |
Bonjour DaD,
Lors de sa création un TCD est basé sur une plage de cellules définie, si celle-ci ne prend pas en compte toutes tes colonnes ou toutes tes lignes, les données manqueront dans ton TCD Cliques dans le TCD, Tableau croisé dynamique - Assistant tableau croisé Bouton Précédent pour voir la plage associée
__________________
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 57 ![]() |
Merci tototiti2008 pour ta réponse.
Effectivement, je vois que ma plage à été modifiée. J'ai mis au départ Données!$A:$L, et là c'est Données!$A:$K... comment est ce que je peux re checker la plage de données avant la mise à jour? |
|
|
00
|
|
|
#4 | ||
|
Membre éclairé
![]() Inscription : octobre 2008 Messages : 327 ![]() |
Re,
Pour la "rafraichir", tu peux essayer Code :
__________________
|
||
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 57 ![]() |
ça marche impec, merci....
Histoire que je comprenne, peux tu m'expliquer cette partie de code, stp : ? Code :
& Sheets("Données").Range("A1").CurrentRegion.Address(ReferenceStyle:=xlR1C1) |
|
|
00
|
|
|
#6 | |||
|
Membre éclairé
![]() Inscription : octobre 2008 Messages : 327 ![]() |
Bonjour DaD,
Lorsque tu changes la source de ton TCD, il attend la référence à la plage source sous la forme "NomFeuill!R1C1:R25C32" Donc l'adresse des cellules en style R1C1 (ou L1C1 en french Bon, sachant ça, on va décortiquer : Citation:
Citation:
C'est comme si tu sélectionnait A1 en feuille Données, et que tu faisait Ctrl * ça devrait sélectionner toutes les cellules contenant des données autour de A1, donc bien ce qui t'intéresse Citation:
Pense à regarder l'aide VBA, il y a pas mal d'infos disponibles
__________________
|
|||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : juin 2006 Messages : 57 ![]() |
Super, merci pour l'explication et la solution...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com