Plage TCD variable

  • Initiateur de la discussion JBSB
  • Date de début
J

JBSB

Guest
Bonsoir à tous,

J'ai un petit problème qui n'est pas résolu après consutation des sujets existants. Voilà, j'ai un TCD en "Feuil1" qui exploite une table en feuille "Table". Les lignes sont variables et je voudrais qu'il se mette à jour en auto par rapport au nombre de données dans la table. La méthode de travailler sur les colonnes ne m'intéresse pas car je ne veux pas qu'il travaille sur les 65536 lignes (recherche des données), mais juste sur mon nombre de lignes en base. Je ne comprends pas l'application de la formule avec DECALER. Quelqu'un pourrait-il m'aider svp.

Merci et bonne soirée !

JBSB.
 
C

chris

Guest
Bonjour
Travailler en mode colonne ne pose pas de problème dans les TCD sauf pour les regroupements sur un champ date.
(sachant qu'il est déconseillé de placer un autre tableau sous la base de données).
Au lieu de décaler tu peux aussi utiliser indirect :
si tes données vont de A1 à X? et que la colonne A est remplis sur chaque ligne :
=indirect("A1:Z"&nbval(A:A)) te donne la plage dynamique.
Tu doit créer un nom, TABLO par exemple et dans la zone "fait référence à"
tu tapes la formule = indirect....
puis tu base ton TCD sur TABLO et non sur une plage.
Chris
 
D

Dan

Guest
Bonjour,

Une autre solution est de déclarer le tableau de données dans ta feuille Table comme base de données (insertion / nom pour définir la plage).

Ensuite dès que tu encodes une valeur, tu l'insères dans la plage définie et non à la suite. Ceci à l'avantage d'englober directement les nouvelles données dans le nom attribué sans devoir redéfinir quoique ce soit.

Pour l'actualisation de ton TCD, 3 méthodes :

1. Clique droite dans le TCD, puis dans le menu choisir "actualiser les données"
2. Dans les options du TCD (clique droite dans le TCD, choisir "options" dans le menu), coche la case "actualiser à l'ouverture". L'actualisation se fera à chque ouverture du fichier.
3. Par macro VBA en utilisant l'instruction "refresh.table".

Espérant t'avoir aidé. Si pb n'hésite pas.

@+

Dan
 
J

JBSB

Guest
Bonsoir,

Suite à ce sujet, je rencontre toujours un pb. En effet, je veux que mon TCD, situé sur une feuille différente de ma TABLE de données prennent en compte toutes les données de cette table. J'ai essayé la méthode donnée par chris mais en vain car lorsque je dis au TCD que la plage est Table0, il me dit : "référence non valide". Je ne vois pas comment faire.

Pouvez-vous m'aider svp !!!

Merci et bonne soirée !

JBSB
 
D

Dan

Guest
Bonsoir JBSB, le forum,

Bon, procède par étape :

1. Sélectionne ta le nombre de ligne de ta base
2. Via menu / insertion / nom / définir, tu attribues un nom (ex: database)
3. Va sur la feuille de ton TCD et clique droite sur la première case en haut à gauche
4. Choisis "assistant"
5. On va reprendre la construction du TCD depuis le début, donc choisis
"précédent" pour arriver à l'étape 2 "où se trouve vos données"
6. Dans la rubrique "Plage" tu vas insérer le nom que tu as créé
7. Va dans menu / insertion / nom et choisis l'option "Coller"
8. Clique sur le nom attribué (ici database) et confirme par OK
9. Fais "suivant" puis "terminer" par l'assistant TCD

Logiquement ton TCD devrait être correct.

NB : attention pas de lignes vides dans ta base de données sinon ton TCD ne prendra pas les données complètes.

Dans l'attente de te lire

@+

Dan
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 024
Membres
104 007
dernier inscrit
Monvieux