TDC - problème avec champs dates groupées

Bonsoir,

dans un TDC, il est possible de grouper des champs dates. J'utilise cette fonctionnalité dans un classeur contenant de multiples feuilles et de nombreux TDC.

Jusqu'à présent,, le classeur enregistrait les groupements et tout fonctionnait correctement sauf dans le cas où un champs date groupé contenait une donnée erronée . Après correction de l’erreur de saisie dans la table source, il suffisait de relancer grouper Année/Trimestre/mois pour retrouver le résultat et l'affichage correct du TDC.

Depuis peu, lorsque j'ouvre le classeur, les champs date de certains TDC sont systématiquement dégroupés alors qu'il n'y a pas de données erronées dans la table de données. Pas d'erreur si je fais l'opération manuellement.

Dans le code VBA, j'utilise une instruction Refresh à l'ouverture de chaque feuille contenant un ou des TDC.

Y-a-il une instruction VBA à rajouter pour maintenir groupés à l'ouverture d'une feuille les champs qui le sont et dégroupés les champs qui ne le sont pas?

Peut-on programmer cette fonctionnalité en VBA?

Merci par avance pour votre aide.

JMV

Complément au message précédent:

Je viens de remarquer que le groupement ou la dissociation des champs dates est interactive entre deux feuilles d'un même classeur !. (EXcel 2007)

Chaque feuille contient un TDC différent faisant appel au même champs de données contenant des dates. Lorsque, dans l'une des feuilles, je groupe sur ce champs, automatiquement, dans l'autre feuille, le champs est également groupé. et vice versa. Cela détruit complétement la présentation des données dans les TDC.https://forum.excel-pratique.com/posting.php?mode=reply&f=2&t=128517#

En fait j'ai besoin d'avoir la possibilité de grouper ce champs dans une des feuilles et de l'avoir dégroupé dans l'autre feuille.

Est-ce possible?

Cdt,

JMV

Bonjour

Grouper dès le 1er TCD en gardant le jour : exemple Année, trimestre, mois, Jour.

Ensuite sur chaque TCD choisir le ou les niveaux voulus : on peut avoir année, jour ici, et Trimestre ailleurs

Le dégroupement sur un TCD dégroupe partout puisque la notion de groupe est enregistré dans le cache commun aux TCD basé sur une même source.

Si on résume :

Il faut donc penser les niveaux avant, ne plus toucher aux groupes et juste faire les choix des niveaux souhaités lors de la réalisation de chaque TCD

A noter qu'il est inutile d'utiliser Refresh sur chaque feuille : un seul refresh suffit pour tous les TCD basés sur une même source.

est-ce que ce ne serait pas un probleme de connexions entre les TCD et/ou de "relationship" (en anglais sur ma version dans l'onglet des TCD)?

Il me semble qu'il n'y a pas besoin de macro pour demander le rafraichissement à l'ouverture : cocher l'option (dans option des TCD, data) suffit

Bonjour,

merci pour vos réponses.

Commentaires sur le Refresh:

Effectivement, on peut cocher la case "Refresh" pour mettre à jour automatiquement les TDC. Ce tableur est utilisé par de nombreux utilisateurs qui ont la possibilité de décocher cette case. Lancer un Refresh dédié au seul tableau contenu dans une feuille du classeur lors de l'ouverture de cette feuille permet d'être sûr d'afficher des info à jour, même si la case est décochée.

Voici le code utilisé:

Private Sub Worksheet_Activate()

'---------------------------------------------------------------------------------------

' Procedure : Worksheet_Activate

' Author : Jean-Marie

' Date : 10/03/2019

' Date Mod : 17/04/2019

' Descript. : Retrouve N° de la feuille et applique critères d'affichage

' Purpose : Initialiser feuille à l'ouverture

'---------------------------------------------------------------------------------------

'

InitFeuille

ActiveSheet.Unprotect

ActiveSheet.PivotTables("TDC Clients").PivotCache.Refresh

End Sub

2) Commentaires sur" Grouper"

Si j'ai bien compris l'info de "Grouper un champs sur une date est enregistrée dans le cache "Global " du Classeur commun à tous les TDC. En conséquence, on ne peut pas avoir un champs date groupé sur un TDC d'un classeur et dégroupé sur un autre TDC même si ce second TDC est sur une autre feuille.

Y-a-t-il un moyen de contourner cette restriction?

Pour clarifier mon problème, j'ai mis en attachement des copies d'écran montrant ce que je voudrais obtenir.

Merci par avance pour votre aide.

Cordialement

JM

Bonjour

Si d'un côté tu souhaites Grouper les dates et de l'autre les Dégrouper, alors cela devrai répondre à ta demande.

Construis ton premier TCD normalement et groupes tes dates.

Ensuite insère une nouvelle en-tète de colonne que tu appelles par Exemple Dégroup, même si cette colonne reste vide, par contre

prends cette nouvelle colonne en compte lors de la sélection de ta source de données pour construire ton TCD.

Tu peux ainsi depuis le même TCD dégrouper les dates sans les dégrouper sur le premier TCD.

Comme Excel interprètre ta source comme deux sources différentes il ne fait pas le lien.

Tiens-nous au jus.

Cordia5

Ensuite insère une nouvelle en-tète de colonne

sur ta base de données.

Cordia5

Bonjour,

merci pour la réponse, mais je ne suis pas sur d'avoir compris comment il faut procéder:

Est-ce que je dois dédoubler toutes les colonnes dates que contient la table d'origine en copiant les données et ensuite choisir une colonne ou l'autre selon que je souhaite grouper ou dégrouper les dates dans le TDC?

Merci de confirmer.

Cdt

JM

Non, seulement ajouter une colonne (en-tête), mais

pour le premier TCD tu ne la prends pas compte, exemple

ta sources va de la colonne A à V

mais pour le second ta source va de la colonne A à W (W étant une colonne qui a une en-tête, mais pas de données.)

Espérant être clair.

Cordia5

bonjour à tous

une piste : les filtres de TCD par défaut gardent en mémoire les données effacées

sans doute il y a encore en mémoire une saisie erronée qui fiche le bouzin dans les TCD

clic sur un segment, propriétés, décocher la case concernée

à tester

amitiés

Bonjour,

Si souci avec le cache après modification des données, allez dans les options du tableau croisé dynamique.

Dans l'onglet Données, choisir Aucun pour le nombre d'éléments à retenir par champ.

Cdlt.

Bonjour à tous

Bonjour,

Si j'ai bien compris l'info de "Grouper un champs sur une date est enregistrée dans le cache "Global " du Classeur commun à tous les TDC. En conséquence, on ne peut pas avoir un champs date groupé sur un TDC d'un classeur et dégroupé sur un autre TDC même si ce second TDC est sur une autre feuille.

Je pensais avoir clairement expliqué comment faire !

"Grouper dès le 1er TCD en gardant le jour"

Le jour c'est la date initiale donc la même chose que si ce n'est pas groupé !

Il suffit de ne prendre que ce champ pour le TCD où ne doit pas apparaitre un quelconque regroupement..

J'espère que c'est clair cette fois

Bonjour 78chris

Effectivement, depuis une même source de données pour deux TC, il ne sera pas permis de faire

dans l'un un Groupage date et dans l'autre Dégroupage date, sauf si la source est considérée comme différente

en ajoutant une colonne de plus par exemple dans la source de donnée pour le second.

Cordia5

Bonsoir à tous,

Il n'y a pas de problème de pollution de cache, mais un problème lié au fait que le cache est global par champs de données pour tous les TDC utilisant ce champs. Donc, si dans un TDC, on groupe un champs, ce champs sera groupé dans les autres TDC.

On peut par contre, comme indiqué dans un des messages en groupant dans un TDC par jour/mois/trimestre Année, ne sélectionner que le jour sur un autre TDC. Cela fonctionne, Excel affiche alors jour/mois, mais pour avoir l'info sur l'année, il faut également sélectionner l'année, donc une colonne supplémentaire.

La solution proposée consistant à modifier la source de données en rajoutant une colonne vide est applicable à condition que la source de données ne soit pas un tableau.Je n'ai pas trouvé comment faire avec un tableau. L'intérêt du tableau pour une source de données est qu'il se met automatiquement à jour quand l'utilisateur rajoute ou supprime des lignes.

Finalement, pour contourner le problème, j'ai créé dans mon tableau, 3 colonnes cachées supplémentaires qui contiennent des formules recopiant pour chaque ligne les dates des colonnes sources. Fonction du TDC nécessitant groupage ou non des champs dates, je sélectionne une colonne ou l'autre. Dans ce cas, il n'y a plus aucune interaction entre les différents TDC et je ne dois modifier aucun des TDC existants.

Un grand merci pour votre aide qui m'a permis de comprendre le problème et de trouver une solution acceptable.

Si vous avez mieux à proposer, je suis preneur.

Cdt

JM

Rechercher des sujets similaires à "tdc probleme champs dates groupees"