TCD et Bug en VBA

Domic

XLDnaute Nouveau
Bonsoir à tous,
J'utilise une base de 13 colonnes et entre 1000 et 10000 lignes.

Le TCD est géré entièrement par VBA, en fonction de choix fait sur un USF, le TCD est éffacé et reconstruit à chaque demande de l'utilisateur.

De temps en temps, la macro se bloque avec comme défaut 'Trop de ligne ou trop de colonne', lors de l'ajout d'une colonne dans le TCD

Pour comprendre, je réalise la même analyse en créant manuellement le TCD, et là, aucun problème de ligne ou de colonne. :silly:

Ma question est donc la suivante, d'ou peux provenir ce message erreur.

Merci par avance.

Domic
 

Domic

XLDnaute Nouveau
la macro que je t'ai postée ne résouds que ton pb d'items qui ne sont plus inclus dans ta base
de données et que ton TCD reprend toujours.

Euuuuuuuuhhhh, je ne comprend pas ce que tu veux dire.

:eek:

Si les items sont dans le TCD, c'est qu'ils sont dans la base, sachant que je le reconstruit à la demande et qu'a la fin je le supprime pour éviter de le sauvegarder.

Je me pose encore plus de question maintenant...

A+

Domic
 

Dan

XLDnaute Barbatruc
Re,

Ce que je voulais dire, c'est lorsque tu as un TCD et que tu veux l'actualiser après avoir supprimé des valeurs dans ta base de données, les anciens items restent visibles dans le champ en cliquant sur la petite flèche.
cette macro sert à les supprimer.
Bon apparement cela ne te sert à rien si tu reconstruit ton TCD à chaque fois.

Fais une chose pour moi car je n'arrive plus à faire fonctionner ta macro. Surement dû à Excel 2003 que je n'ai pas ici.

Pourrais-tu me replacer ton ficher avec le TCD réalisé de manière à ce que je vois quel est le TCD final.

;)
 

Domic

XLDnaute Nouveau
Et voila avec le TCD construit.

Sachant qu'à ce niveau la macro n'est pas fini car il reste à appliquer au TCD les selections faites par l'utilisateur.

Concernant le bout de code un peu plus haut, un .PivotCache.Refresh ne suffit pas?

A+

Domic


[file name=Bug_TCD_20060508220353.zip size=41316]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Bug_TCD_20060508220353.zip[/file]
 

Pièces jointes

  • Bug_TCD_20060508220353.zip
    40.3 KB · Affichages: 28

Dan

XLDnaute Barbatruc
Merci Domic,

J'ai regardé ce fichier et ai refais ta macro chez moi.

Bon comme je te le disais, le fait de mettre d'avoir des dates avec heures minutes différentes font que tu retrouves la date en double dans le TCD.
Essaie en mettant avec date en A2 = 03/06/2005 et recopie là jusque A7 puis refais ton TCD, tu verras que la date est reprise une seule fois comme je te l'avais dit précédemment.
Mais bon comme tu me l'as ausi dit je sais que tu as besoin de cette précision.

Concernant les items toujours visibles dans la liste du champ date, il n'est pas possible de les supprimer puisqu'ils sont toujours dans ta base de données et que le TCD est interactif.
Désolé pour ce que je t'ai proposé avant avec la macro mais elle ne sert pas dans ton cas.
La seule possibilité qui existerait sera de faire un copier - collage spécial / valeurs de tout le TCD. Comme cela tu n'aurais plus que les valeurs visibles. Cela est tout à fait possible sachant que tu refais ton TCD à chaque fois.

Dans ton fichier tu parles aussi de 1er bug, là je n'ai pas bien compris ton pb. Peux-tu réexpliquer ?

A te lire

;)

Message édité par: Dan, à: 08/05/2006 23:47
 

Domic

XLDnaute Nouveau
Bonsoir Dan, le Forum,

Le premier bug concerne la question d'origine de ce fil à savoir 'trop de ligne ou trop de colonne'.

Concernant les dates, j'ai séparé en 2 colonnes les dates et les heures et celà fonctionne correctememnt, mais bon celà me fait une colonne en plus... et vu que j'en ai déjà trop...

Je continu de chercher...

Encore merci pour ton aide.

A+

Domic



[file name=Bug_TCD_20060509212800.zip size=42234]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Bug_TCD_20060509212800.zip[/file]
 

Pièces jointes

  • Bug_TCD_20060509212800.zip
    41.2 KB · Affichages: 22

Dan

XLDnaute Barbatruc
Bonsoir Domic,

Ben voilà une excellente solution que tu as prise.
A vrai dire j'y avais pensé sans te la proposer puisque j'avais compris que date et temps se plaçait en même temps et que tu devais absolument conserver ces données.

Concernant le premier bug, ton pb peut aussi venir du fait que as trop de ligne dans ta base de données à traiter pour faire ton TCD.

Ce que tu dois savoir :

1. 8000 éléments maximum par tableau croisé dynamique
2. Nbre de champ de ligne et de colonne apr TCD est limité par la mémoire disponible

Il se peut probablement que ton pb vienne de là. Dans ce cas, tu devrais essayer de faire deux TCD au lieu d'un seul et faire le deuxième sur base du premier.
Je ne peux pas faire cet essai car je n'ai pas les 15000 lignes de ta base de données (ici 50 lignes).

Fais un test en supprimant quelques champ placés en colonnes et dis moi quoi.

A te lire

;)
 

Domic

XLDnaute Nouveau
Bonsoir Dan,

Le fait de séparer les colonne peux se faire mais celà me demande quelques lignes de ode à faire en plus et à modifier le reste du code pour l'accès aux autres colonnes.

Donc celà complique et ne m'arrange pas. :angry:

Concernant le nombre de donnée, le nombre de 8000 me parait faible, peux-tu m'indiquer ou tu as trouvé cette info?

Compte tenue que celà ne m'arrange guère j'ai reccréé la gestion identique au tcd mais uniquement pour répondre à mon besoin.

J'ai déjà fais quelques test et les réponse sont fantastiquement plus rapide.

Pour info, je suis passé de 90 seconde avec la programmation TCD à moins de 3 secondes pour traiter 11000 lignes sur 13 colonnes. :woohoo:

je vais modifier mon programmes avec le module que j'ai dévellopé pour voir le résultat final.

A+

Domic
 

Dan

XLDnaute Barbatruc
Bonsoir Domic,

Concernant les 8000 lignes, Je pense avoir lu cela dans un livre il y a déja pas quelques années.

Dommage mais le TCD a ses limites et que bien souvent on veux trop mettre dans un TCD mais a l'avantage, comme tu as pu le constater, d'être très intéractif.

J'avais d'ailleurs modifié ton code de mani!re à l'accélèrer un peu mais bon cela ne semble servir à rien pour ton pb.

Si je peux encore t'aider n'hésite pas

;)

Message édité par: Dan, à: 10/05/2006 21:34
 

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 502
Membres
103 563
dernier inscrit
samyezzehar