Construction d'un tableau avec données dynamiques

16forums-xl.zip (16.01 Ko)

Bonjour,

D'abord désolé pour le double poste. J'ai ouvert un même poste sur le forum Calc mais ... vu le flux des visiteurs...

Je cherche à construire un tableau de bord à partir des données qui évoluent quotidiennement en ligne. Le classeur contient 2 feuilles :

  • Feuille SAISIE : les données y sont saisies.
  • Feuille TB : il y a un tableau qui va donner un récapitulatif sur une période souhaitée. Les dates sont modifiables en B4 et D4

Le problème vient du fait que, les colonnes et les lignes sont susceptibles d’évoluer dans le temps. Je veux dire par là qu’il peut y avoir ajout/suppression de colonne et/ou de ligne.

Du coup, je voudrais construire un tableau pouvant prendre en compte ces variations dans la feuille SAISIE.

Prenons pour exemple le cas où on ajoute une colonne dans la feuille SAISIE. Pour mieux voir et comprendre mon souci, insérer une nouvelle colonne dans le tableau de la feuille SAISIE

Les conséquences :

C1- Dans SAISIE : La nouvelle colonne insérée ne contient pas/ n’intègre pas les formules de la colonne précédente. Ma solution jusqu’ici est de tirer glisser les formules. Une opération à risque que je dois éviter car les utilisateurs ne sont pas du tout habitués aux tableurs. Alors y’a t-il une fonction pour pallier à ce tirer-glisser ?

C2- Dans TB : La dernière ligne du tableau disparaît. Pour la faire apparaître, je suis obligé de la tirer-glisser. C’est précisément cette opération de tirer-glisser que je voudrais éviter en passant par une fonction. (fonction décaler ? Indirect?)

C3- La mise en forme de cette dernière ligne (ligne 23) est préservée et est appliquée à la ligne du nom GAMMA. Bien sûr, c’est ce que je ne veux pas.

PS: Naturellement, j’ai joint le fichier simplifié et personnalisé mais la structure reste la même.

Cordialement.

bonsoir,

un essai

21forums-xl.xlsx (22.91 Ko)

Bonjour H2SO4

C'est parfait ca fonctionne nickel. Il faut que je fasse de même pour l'insertion d'une nouvelle ligne dans SAISIE. Je pourrais adapter ta formule. Ca solution mon problème. Un GRAND Merci!! .... Mais (le "Mais" veut dire que si j'ai pas mieux j'adopterai cette soluce')

Mais ca "suppose" qu'on ne peut pas (théoriquement) dépasser plus de 20 nouvelles insertions sans avoir tiré-glissé au préalable les formules vers le bas. Il n'y aurait pas une façon d'écrire les formules qui nous permettrait de nous passer de ce tirer-glisser?

Une façon « dynamique » avec la DECALER() ; LIGNE() ou INDIRECT() par exemple.

Info qui a son importance:

Dans ma formule, d’une colonne à une autre dans feuille TB, il n’y a que « DONNEES.$D$XX » qui bouge. Exple

En B j'ai .....; DONNEES.$D$8; ....

En C j'ai .....; DONNEES.$D$9; ....

En D j'ai .....; DONNEES.$D$10; .... Etc…

Avec ta solution , j’ai un autre élements qui bouge mais cette fois –ci en ligne.

Exple :

En ligne 10, j’ai en début de formule, …. $A10…..

En ligne 11, j’ai en début de formule, ….. $A11….

En ligne 12, j’ai en début de formule, …. $A12 …. Etc…

Ne serait-il pas possible d’écrire une seule formule qui prendra en compte cette évolution en colonne ET en ligne svp ?

Merci

Samoterell a écrit :

Bonjour H2SO4

)

Mais ca "suppose" qu'on ne peut pas (théoriquement) dépasser plus de 20 nouvelles insertions sans avoir tiré-glissé au préalable les formules vers le bas. Il n'y aurait pas une façon d'écrire les formules qui nous permettrait de nous passer de ce tirer-glisser?

Une façon « dynamique » avec la DECALER() ; LIGNE() ou INDIRECT() par exemple.

bonjour,

ceci n'est pas possible avec des formules, il faut passer par une macro.

voir fichier

7forums-xl.xlsm (30.22 Ko)

pour ajouter un bloc pour une nouvelle date, introduire une date en colonne 1 dans la première cellule sous un bloc de données existant.

l'ajout de lignes dans TB se fait automatiquement en fonction des besoins.

ces 2 points sont gérés par 2 macros événementielles qui détectent les changements dans saisie et dans TB et agissent en conséquence.

à tester ...

Info qui a son importance:

Dans ma formule, d’une colonne à une autre dans feuille TB, il n’y a que « DONNEES.$D$XX » qui bouge. Exple

En B j'ai .....; DONNEES.$D$8; ....

En C j'ai .....; DONNEES.$D$9; ....

En D j'ai .....; DONNEES.$D$10; .... Etc…

Avec ta solution , j’ai un autre élements qui bouge mais cette fois –ci en ligne.

Exple :

En ligne 10, j’ai en début de formule, …. $A10…..

En ligne 11, j’ai en début de formule, ….. $A11….

En ligne 12, j’ai en début de formule, …. $A12 …. Etc…

Ne serait-il pas possible d’écrire une seule formule qui prendra en compte cette évolution en colonne ET en ligne svp ?

Merci

voir fichier

15forums-xl.xlsx (87.35 Ko)

Bonjour,

Une proposition à étudier : VBA et TCD.

ALT F11 pour ouvrir l'éditeur VBE - Voir module 'modConsolider'

Cdlt.

15forums-xl.xlsm (38.46 Ko)

Merci H2SO4, Merci Jean-Eric,

Après avoir passé quasiment tout l’après midi à essayer de comprendre pourquoi 2 ou 3 petites choses ne fonctionnent pas et résoudre moi-même en vain, je m’en à vous en postant encore d’autres questions.

D’abord pour la macro, je ne l’ai pas encore testée. J’aurai dû préciser que c’est sans macro. Mais je la garde sous la main et elle me sera bien utile dans un futur proche ! La raison ? Le commanditaire veut éviter la solution « Macro » coûte que coûte. Une stratégie qui a fonctionné jusqu’ici… non sans galère certes !

Pour revenir au dernier fichier de H2SO4 que j’ai rattaché exprès, comme c’est sur Calc que je travaille et non Excel directement, je n’ai de souci pour réadapter les formules lorsque celles-ci ne sont pas prises en comptes directement. (d’ailleurs, je découvre avec joie les incompatibilités entre les 2 tableurs : Excel 2011 vs LibreOffice 4.2 ...)

H2SO4, Est ce que tu pourrais me dire, stp, comment tu as solutionné le problème de non décalage des lignes grisées des totaux pour que je puisse l’adapter à Calc ?

Est-ce une manip ? Ou une formule (cachée quelque part -- Sourire) ?

Merci encore.

Samoterell a écrit :

H2SO4, Est ce que tu pourrais me dire, stp, comment tu as solutionné le problème de non décalage des lignes grisées des totaux pour que je puisse l’adapter à Calc ?

Est-ce une manip ? Ou une formule (cachée quelque part -- Sourire) ?

Merci encore.

il s'agit d'une mise en forme conditionnelle. qui se base sur la présence du mot Total en colonne A.

Ah! très bien. Je l'aurais jamais trouvé seul!

Un GRAND Merci pour tout! vivent les forums d'entraidet!

Je vais adapter tout ça à Calc... avant de passer le poste en "Résolu".

Bonjour,

Es-tu certain des résultats de tes formules?

(voir mon fichier pour testet les résultats).

Cdlt.

Hello Jean-Eric

Ton fichier? Lequel? celui de 2014-12-10 chargé à 13H38? Non je l'ai pas encore testé.

Mais pour te répondre, effectivement j'ai constaté coquille dans mes formules de la feuille TB.

J'ai collé la formule de la colonne F dans la E; celle de G dans la F ainsi de suite. Une erreur qui se corrige aisément en introduisant dans toute la 1ère ligne du tableau TB (==>Clin d'oeil à ...H2SO4) la formule suivante :

=SI($A10="";"";SOMME.SI.ENS(DECALER(Saisie!$D$7;0;LIGNE()-9)  :   DECALER(Saisie!$D$5000;0;LIGNE()-9);    Saisie!$D$7:Saisie!$D$5000;    INDIRECT("Saisie!$D$"& COLONNE()+5);     Saisie!$A$7:Saisie!$A$5000;">="&$B$4;Saisie!$A$7:Saisie!$A$5000;"<="&$D$4))

Evidemment, comme c'est un fichier dépersonnalisé et simplifié, du coup pour les colonnes de moyenne dans TB ( MNO) ce ne sera pas une somme mais bien une moyenne.

Bonjour,

Je te renvoie mon fichier avec une modification et ceci à titre d'exemple.

Le TCD somme par Lois & Suites , et calcule la moyenne de Frame & Second.

Cdlt.

13forums-xl-v1.xlsm (37.79 Ko)

Re!

Intéressant l'approche/solution TCD. Mais pour des raisons esthétiques ( et surtout pour l'effet "poudre aux yeux" ) je préfère retenir le modèle/structure de départ. Mais c'est vrai que j'ai pas encore le réflexe des tableaux croisés!! A suivre donc!

Merci.

Mon sujet est résolu!!

Merci à tous!

Bonne journée à vous.

Rechercher des sujets similaires à "construction tableau donnees dynamiques"