Tableau croisé dynamique filtré : actualisation données

Bonjour,

J'ai une macro qui génère un tableau croisé dynamique filtré sur un champ.

Pour chaque valeur de ce champ filtré, j'ai un onglet dans lequel je dois actualiser un tableau avec les données à partir de la lecture du tableau croisé dynamique (TCD).

Mon problème est le suivant : les données lues depuis le TCD sont correctement récupérées, par contre, dès que la valeur du champ filtré du TCD change, le tableau de chaque onglet "perd" sa valeur ... sauf pour le dernier champ filtré (car c'est celui qui reste affiché).

Je me doute bien qu'il y a une histoire de calcul manuel derrière cela (équivalent à F9 mais pour chaque onglet) mais je ne vois pas et ne sais pas comment l'appliquer !

Merci de bien vouloir me venir en aide.

Cordialement.

Bonjour,

Merci de mettre ton fichier en pj ce sera plus simple pour t'aider.

Cordialement,

Comme demandé, voici le fichier en pièce jointe.

L'onglet TCD contient le Tableau Croisé Dynamique qui sert de base pour alimenter les autres onglets.

J'ai juste mis (pour chaque onglet) en cellule K10 une formule de lecture du TCD.

Quand on passe d'une valeur de champ filtré du TCD à une autre, les données sont actualisées et on perd donc la valeur correspondante au filtre.

Comment "figer" les valeurs du tableau des différents au fur et à mesure que l'on change de valeur du champ filtré ?

Cordialement.

J'ai testé de mon côté cela fonctionne, à mon avis c'est juste l'option du classeur Excel qu'il faut changer dans :

" Fichier" puis "Options" puis "Formules" puis mettre "Recalcul du classeur en automatique"...

Bonjour,

J'ai renvoyé mon fichier en y incluant une macro.

L'exécution de la macro montre bien que le tableau de chaque onglet est mis à jour pendant le traitement (cellule K10) mais par contre à la fin on constate que le tableau des 3 onglets a "perdu" sa valeur.

Merci de regarder comment il est possible de garder les valeurs.

Cordialement.

Bonjour,

Si quelqu'un a une idée sur la façon de solutionner ce problème, je suis preneur

Merci par avance.

Bonjour,

c'est possible sans passer par la lecture du TCD mais c'est très long à écrire; je l'ai fait juste pour la valeur 78.60 que l'on trouve en K10 feuilles Ados

Avec un sommeprod, pas de #N/A dans la feuille source et des colonnes nommées , on arrive à ce total

=SOMMEPROD((Rech_Filière=$U$6)*(Rech_Pole=$V$7)*(Rech_Statut=$W$5)*(ETPBACT))

Je peux te rendre ton fichier mais il faut y refaire cette formule pour toutes et lignes et tableaux, donc fastidieux.

Ton total change / disparait à chaque fois que tu changes B1 dans ton TCD puisque la formule de lecture du TCD va toujours en B1 qui change selon ton besoin

P.

Regarde ici en feuille ADO T10 et T11

Edit : tu peux aussi faire 3 tcd ou plus

Merci Patrick1957.

J'ai finalement opté pour la création de plusieurs TCD.

Autre question (et dernière avant la prochaine ).

Question de syntaxe pour une sélection de plage avec une variable pour la colonne.

Select Case Mois_Calcul
    Case Is = 1
        col = "D"
    Case Is = 2
        col = "E"
    Case Is = 3
        col = "F"
    Case Is = 4
        col = "G"
    Case Is = 5
        col = "H"
    Case Is = 6
        col = "I"
    Case Is = 7
        col = "J"
    Case Is = 8
        col = "K"
    Case Is = 9
        col = "L"
    Case Is = 10
        col = "M"
    Case Is = 11
        col = "N"
    Case Is = 12
        col = "O"
End Select

Range(col&"8:"&col&"14").Select

Comment écrire correctement la formule Range pour que par exemple, quand c'est le mois d'août, ce soit la colonne K qui soit utilisée pour au final donner l'équivalent de Range("K8:K14").Select

Par avance merci de l'aide que vous pourrez m'apporter.

Rechercher des sujets similaires à "tableau croise dynamique filtre actualisation donnees"