Date: prev next · Thread: first prev next last
2023 Archives by date, by thread · List index




Re

je coince dans une table dynamique mais je pense qu'on s'en passe, sans avoir à ajouter de colonnes...

Quelques pistes... Et une solution sans tables dynamiques (voir à la fin)

résumé : c'est bon les tables dynamiques, oubliez-les (parfois !)

=> Sur la source de données (confère à l'autre discussion en cours depuis qq jours sur le choix du bon outil, et je dirais même dans l'outil, de la bonne méthode) :

Je ne crois pas qu'il soit judicieux, de mélanger dans la même feuille, l'extraction de la source, et des calculs supplémentaires. surtout si l'actualisation est automatique, mais même si c'est manuel. 2-3 réponses à ça

Si ton extraction (que tu dis modifier) est donc personnalisable, c'est via l'outil qui te permet de faire les extractions que tu dois faire l'essentiel des calculs, des manipulations, ajouter de nouvelles colonnes (issues éventuellement de calculs). Il faut toujours quand on manipulent des données "volumineuses" réserver la manipulation, le traitement de la donnée, à l'outil qui est fait pour. Dans Calc, tu dois réserver le calcul final, ultime.

Tu pourrais aussi, car il semble que c'est ton nombre de colonnes qui t'encombre l'esprit, selon ton besoin, concevoir une extraction différente à chaque type d'analyse.

Enfin, voire surtout, j'aurais tendance, pour éviter de tout refaire à chaque fois, de mettre en place un fichier où les calculs restent valables malgré le nombre de valeurs croissantes. (bien sur tes colonnes doivent être stabilisées). Ainsi, tu pourrais avoir une feuille "source", et une autre, où les valeurs sont copiées (avec liaison), qui ne prend que les colonnes utiles, si tu n'as qu'une source, et auxquelles tu ajoutes tes calculs. Là encore, isole les thèmes dans des feuilles différentes. Si tout est issu de la même source, quand tu changes d'axe d'analyse, c'est pertinent d'avoir une feuille différente.

=> La solution la plus simple, que l'on va toujours recommander, celle qui est naturelle, pas prise de tête :

De là, tu pourrais "accepter" (je n'aime pas du tout ce terme...) 2 colonnes supplémentaires mois(date en C) et annee(date en C), oui car en réalité, à moins que tu veuilles cumuler janvier de 2022 et 2023, il te faut l'année aussi. C'est ce que plusieurs préconisent. Et c'est juste car c'est franchement simple d'obtenir ce qu'il te faut ensuite. Reste à gérer ce qui te dérange dans cette pratique (d'où ce qui précède)

=> Les sous totaux dans la table dynamique

Si ton champ est en ligne par exemple, tu doubles cliques sur le champ, et tu peux faire un sous total (oui au fait le sous total, c'est pas toujours une somme, voir pour cela, la doc de la fonction sous.total)

Sauf que comme tu es sur une date, il n'y a pas de sous total apparent, donc on oublie (mais au moins, une prochaine fois, dans d'autres cas...)

=> Il existe une solution manuelle, mais qui devra être refaite à chaque fois que la table dynamique est actualisée:

Grouper les valeurs d'un même mois (sélectionner dans la table, puis données grouper, renommer le groupe...)

C'est quelque chose d'assez utilisé, mais là encore dans ton cas, c'est très empirique, et peu satisfaisant...

Il y aurait probablement une solution dans Excel

oui en toute honnêteté... Il y a un peu moins de 10 ans, quand au boulot on travaillait sur le passage à LibreOffice, on m'a parlé des champs calculés des TCD dans Excel. Cela permet de créer des champs de tables supplémentaires par exemple un mois(date). Mais des choses bien plus complexes aussi...

De là ce serait tout bête.

C'était tellement important qu'on a été à 2 doigts de financer le dév de la fonction dans LibreOffice 25000EUR en devis initial, puis devis monté à 50000EUR. On n'est pas allés au bout, car quand même c'est bien aussi d'utiliser des outils spécialisés, qui sont déjà disponibles (confère plus haut).

Mais il existe une fonction un peu intermédiaire qui ne répond pas à toutes les situations...

Extraire données pilote

La doc de l'aide ne donne pas d'exemple, du coup c'est abscon... La page FR du wiki est plus claire https://wiki.documentfoundation.org/FR/Calc:_fonction_EXTRAIRE.DONNEES.PILOTE

Selon le besoin, il y a 2 syntaxes différentes. Quand on manipule déjà le somme.si.ens, ça doit être moins dur d'accès (parce qu'en formation c'est pas le moment le plus zen de la journée....)

Je coince, principalement parce qu'on est sur une date. J'arrive à récupérer le total des entretiens, l'entretien d'un jour (avec en critère la date en nombre, et non pas saisie comme une date, passer par la valeur dans une cellule).

Ce qui serait idéal serait d'avoir dans un tableau les dates du premier jour du mois, et de demander le cumul des entretiens pour les dates comprises dans l'intervalle. En cherchant les valeurs dans la table dynamique, je trouve pas. Mais ceci dit, à bien y réfléchir, je ne vois pas pourquoi passer par une table dynamique pour ça...

un somme.si.ens ? non un sommeprod !

Pour que le somme.si.ens fonctionne il faudrait que le mois et l'année de la date soient déjà dispo... on revient à la même question qu'avec une table dynamique :-( Ou alors, on part des dates du 1er jour du mois (principe évoqué plus haut)

Mais on pense moins à....

SommeProd, fonction magique (un peu compliquée aussi à présenter en formation, mais plus simple que extraire données pilotes quand même)

Comme il y a de nombreux usages détournés de cette fonction, il faut ensuite une petite gymnastique d'esprit. Mais en comparaison avec le somme si ens, dans le cas de cet usage, on met les critères en premiers, la plage à additionner en dernier. Beaucoup ont l'habitude d'utiliser un index(equiv) à la place. Il a moins de limitation, mais je préfère le sommeprod quand il peut fonctionner...

Pour la somme des lignes non vides (par mois)

estvide, esttexte, nbval, le souci c'est bien qu'on les veut par mois... et le nb.si.ens coince aussi... Mais puisque sommeprod a déjà fonctionné, rien ne l'arrête...

on peut automatiquement construire une colonne dans sommeprod, le résultat de esttexte pour chaque ligne, et, de là...

https://lufi.ethibox.fr/r/tuxwH_qunP#n2IOxV2+6YYrmvm2pGsNDJIHQrLFpQDKjDlv6gpeTyg=

Donc, si on oublie les tables dynamiques, on s'en sort mieux... si on veut bien mettre des colonnes en plus, et pérenniser notre fichier, on peut faire des tables dynamiques qu'il n'y aurait qu'à actualiser à chaque nouvelle extraction...

Bonne nuit !

Claire

Le 2023-06-04 23:15, Martine Chazelas a écrit :

Oui c'est vrai mais ce tableau n'arrête pas d'être modifié et comme il est alimenté par une extraction automatique à chaque fois que je rajoute une colonne il me faut changer le format d'extraction mais bon oui c'est faisable.
Je ne sais pas faire des sous totaux dans une table dynamique.
Je joins un fichier quasi vide mais avec quelques lignes et les colonnes qui me sont utiles. J'ai besoin d'avoir par mois le nombre d'inscrits (1) dans la colonne AI en fonction de la date inscrite dans la colonne C et toujours par mois le nombre de lignes non vides dans la colonne AJ selon la même date. En plus de la difficulté sur le total par mois j'ai du mal à compter le nombre de ligne non vides. Je crois qu'il faut utiliser la formule =".*" mais cela ne donne aucun résultat dans une formule NB.SI.ENS. Je me trompe quelque part mais je ne vois pas.
=NB.SI.ENS($'liste_entretiens'.AJ$2:$'liste_entretiens'.AJ$1000;"=.*";$'liste_entretiens'.C$2:$'liste_entretiens'.C$1000;">=1/09/2021";$'liste_entretiens'.C$2:$'liste_entretiens'.C$1000;"<=30/09/2021")
merci d'avance
Martine

J'ai lié un fichier à ce message :

* test_.ods [1]
Taille : 23,8 Ko
Service Filelink : *cloud
Lien : https://cloud.retzien.fr/index.php/s/KjJqY6CYcak3PzA/download

Le 04/06/2023 à 21:23, Ocleyr2lalune a écrit :
Bonjour Martine
Ce n'est pas une colonne de plus qui changera grand chose si tu en as déjà une trentaine. De toute façon tu manipules ça avec une table dynamique...

Un sous total dans la table dynamique tu as essayé ? (La colonne supplémentaire c'est pour simple).

Sinon un extrait de ton fichier ça aiderait à tester si tu peux...

Bonne soirée

_Claire_
Le 4 juin 2023, à 19:43, Martine Chazelas <martine.chazelas@free.fr> a écrit:

Oui j'y ai pensé mais si je peux éviter de rajouter une colonne ce
serait mieux car c'est un fichier avec beaucoup de colonnes et le
fichier n'est pas simple à manipuler.
Mais ce sera peut-être la solution que j'utiliserais si pas de solutions
via une table dynamique sans modifier le fichier ou alors j'utiliserais
les fonctions NB.SI ou somme.NB.SI sans passer par une table dynamique.
Martine

Le 04/06/2023 à 19:15, prog.amateur@free.fr a écrit :
Bonjour, Si tu peux changer la structure du fichier, tu pourrais rajouter une colonne calculée avec le mois et faire ta table dynamique sur cette colonne. Claude Le 04/06/2023 à 19:06, Martine Chazelas a écrit : Bonjour, J'ai un tableau comportant plusieurs colonnes et beaucoup de lignes. Ce tableau est mis à jour régulièrement par ajout de lignes et je produis à chaque mise à jour un certain nombre de stats utilisant des table dynamiques. Cela fonctionne très bien. Je bute sur une table dynamique que je n'arrive pas à produire. J'ai une colonne comportant une date (colonne C par ex) et je voudrais compter le nombre de lignes qui contiennent du texte dans une autre colonne (colonne AJ par ex) avec les données regroupées par mois et non pas date par date. Ex j'ai ajouté 10 lignes pour le mois de juin 2021 aux dates suivantes 3/06/2021, 10/06/2021, 27/06/2021,... je voudrais que ma table dynamique ne me donne pas le nombre par jour mais par mois c'est à dire en juin 2021 10, en sept 2022 6, etc Je ne voudrais pas changer le paramétrage de ma date car pour d'autres stat j'ai besoin de ce format de date. Je n'ai pas trouvé. La seule chose trouvée est de rajouter un filtre à la table et je peux une fois la table créée, trier sur une période mais cela ne produit pas un tableau complet du nombre de lignes entrées par mois de 2021 à 2023 par ex. Merci d'avance si vous avez une piste Martine Chazelas

--
En recherche d'emploi, ne restez pas seuls
Solidarités Nouvelles face au chômage
https://snc.asso.fr/snc-nantes
tel 06 18 24 39 40
n'hésitez à diffuser ce message à toute personne en recherche d'emploi autour de vous



Links:
------
[1] https://cloud.retzien.fr/index.php/s/KjJqY6CYcak3PzA/download
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.