Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Comment grouper différemment les données de deux TCD s'appuyant sur le même cache?

pruvieros

XLDnaute Nouveau
Bonjour,
J'ai une base de données externe (Access) volumineuse (3 millions de lignes, 300Mo) comportant des infos sur des animaux, notamment leur poids.

J'ai deux TCD dans un même classeur Excel, connectés à cette même base de données, avec l'option savedata=false pour ne pas sauvegarder le cache dans le classeur et conserver ainsi un classeur excel de taille modeste.

Les deux TCD partagent le même cache, sinon cela provoque des problèmes de saturation mémoire sur certains postes.

Dans le TCD1, les poids sont disposés verticalement, regroupés dans une colonne par tranches de 1kg.
Dans le second TCD2, les poids sont disposés horizontalement mais regroupés 100kg par 100kg.
(Sans entrer dans le détail, cette disposition (verticale dans le TCD1 et horizontale dans le TCD2) me semble difficilement contournable)

C'est une macro qui effectue le regroupement dans le premier TCD, puis celui dans le second TCD (avec des copier-coller pour récupérer le résultat ailleurs).

A chaque fois qu'elle fait le regroupement dans le TCD1 par tranches de 1kg, le même regroupement est fait automatiquement dans le TCD2 (normal: ils partagent le même cache)
Idem pour le regroupement par tranches de 100kg dans le TCD2: il est automatiquement fait également dans le TCD1.

Tout marchait très bien avant que la base externe atteigne la taille actuelle:
Depuis quelque temps, je rencontre sur certains postes des plantages au moment où la macro effectue le groupement sur le TCD1 (tranches de 1 kg).

Je pense que le plantage est dû au fait que ce regroupement sur le TCD1 provoque simultanément un regroupement sur le TCD2, où il génère la création de milliers de colonnes dont je n'ai rien à faire (les tranches de 100Kg me suffiraient), et on sait qu'Excel gère moins bien les TCD avec beaucoup de colonnes que les TCD avec beaucoup de lignes.

Je sais qu'il suffirait que je crée deux connexions distinctes pour régler le problème (avec deux caches) mais les ressources des PC ne me le permettent pas compte tenu de la taille de la base externe.

Je cherche donc une astuce d'un autre ordre.
Pourrais-je ajouter un champ calculé X (ou une "colonne calculée" si cela existe) dans le TCD2, qui serait exactement égale au poids? Ainsi je pourrais continuer de faire le regroupement sur le poids dans le TCD1, mais je le ferais sur X dans le TCD2, et les regroupements n'interféreraient donc pas.

Ou toute autre idée qui me débloquerait...
Merci par avance pour vos lumières...

Pruvieros
 

Pièces jointes

  • schéma pb synchronisation TCD.jpg
    73.1 KB · Affichages: 53
Dernière édition:

Calvus

XLDnaute Barbatruc
Re : Comment grouper différemment les données de deux TCD s'appuyant sur le même cach

Bonsoir,

Je suis désolé de ne pouvoir t'aider, mais......
peut être pourrais tu faire suivre un programme Weight Watchers à tes animaux ?

pardon, je sors....

 

chris

XLDnaute Barbatruc
Re : Comment grouper différemment les données de deux TCD s'appuyant sur le même cach

Bonjour

Pourquoi créer les TCD et regroupements pas macro ?

Une fois que les TCD sont fait il suivent l'évolution de la base donc on ne les refait pas..

Sur le principe, travaille sur une requête en dupliquant le champ poids et groupe une colonne par Kg et l'autre par quintal.

Tu n'auras ainsi pas le même champ dans les deux TCD...
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…