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


Bonjour

Je pense que vous devriez nous faire parvenir un exemple de votre application (Calc et Base) afin de bien comprendre votre problème et votre façon de voir les choses.

Pour autant que je comprenne votre problème, vous vous méprenez sur les possibilités des logiciels : Il y a une logique, un mode de fonctionnement propre à chaque logiciel. Et, comme beaucoup de gens,  vous confondez Calc et Base , Tableur et Base de données :

 * Un tableur contient des formules sur une zone donnée, puis, ces
   formules s'adaptent ensuite aux données introduites. Mais les
   formules sont toujours préexistantes. Y compris pour "validité" ,
   puisque que, avant de définir les critères de validité, il faut
   sélectionner la zone où elle s'applique. On pourrait en dire autant
   des mises en forme conditionnelles. Validité et Format
   conditionnelle ne sont pas des formules au sens strict du terme
   (quoique on puisse y utiliser aussi des formules), mais en interne,
   ces deux fonctionnalités sont traitées comme telles. Dans un tableur
   le but est de faire des calculs, la présentations et la manipulation
   des données sont secondaires. Tout ceci quelque soit le tableur,
   sinon ce ne serait pas un tableur .
 * Une base de données contient des données (les tables sont
   préexistantes à tout le reste) puis  met en forme, fait des calculs
   en fonction de ces données (grâce aux formulaires et aux requêtes).
   Dans une base de données le but est de faire de la manipulation de
   données , que ce soit la présentation, la sélection ou le calcul,
   les traitements s'adaptent aux données présentent.

La solution standard de votre problème est de tout traiter dans Base. Base n'est pas vraiment plus compliqué que Calc. surtout si vous admettez déjà que la création et la manipulation de requêtes dans Base sont assez simple. Et si vous partez du principes que la personne qui va faire la maintenance de l'application maîtrise la manipulation de formules dans Calc. La création de formules de calcul dans une requête Base n'est pas très différente. En tant que formateur , je peux vous dire que les fondements de Base peuvent se maîtriser en 35 heures environ, y compris par des footballeurs en cours du soir ;)  (je ne me moque pas des footballeurs, je n'ai aucun a priori sur leur niveau intellectuel, c'est juste un cours que j'ai réalisé il y a quelques temps)

En dernier recours, si Base vous sert essentiellement à filtrer des données et à les présenter,  je pense qu'une solution possible dans Calc est de passer par une "Table dynamique" avec filtre mais, a priori, la complexité sera identique. Et aussi de créer le "formulaire" de présentation dans Calc, surtout si celui-ci est de forme tabulaire. NB : la notion de formulaire dans Calc (Données-Formulaire), n'a rien à voir avec celle de Base, je parle simplement de créer une présentation avec disposition et mise en forme de certaines cellules. Un peu comme certaines personnes utilisent les tableurs pour écrire leur courrier ;)

Bon courage

Christian
Le 26/08/2024 à 08:46, francois.saint-christophe@orange.fr a écrit :
Merci Jean-François pour cette réponse.
Mes réponses :
1-"La feuille de saisie peut faire appel à une formule de cotisation,, ça ne
pose pas de pb. "
Si, car chaque nouvelle ligne (= un nouvel adhérent), est vide aucune formule n'est positionnée. 
C'est bien mon problème.

2-"Le stockage devrait être sur un feuille *séparée* du classeur. En
l'occurrence par simple recopie des valeurs de la feuille de saisie.
S'il y a plusieurs feuilles de saisie, vous pouvez soit les agglomérer
dans une unique feuille de données soit gérer plusieurs feuilles de
stockage, en fonction du besoin.
-> Liez alors cette/ces feuille-s à votre odb (où elle devien-nen-t
une/des table-s) et non pas la-les feuille-s de saisie.
"
C'est bien ce que j'ai fait et décrit : une feuille de saisie (= "onglet" dans ma description, =une 
table dans l'odb), et x feuilles dans le même ods, et ce autant qu'il y a de besoins de restitution 
(formatage, calcul, tri, couleur...). Mais en faisant ainsi, cela ne peut traiter mon besoin. Je souhaite que 
à la saisie, l'utilisateur voit le montant des cotisations et ce sans être obligé de changer de 
feuille...etc...

3-"Comme vous devinez à mon commentaire, finalement la bonne route n'est
pas le tableur, même mâtiné de SGBD. Passez en 100% Base, quitte à
conserver le tableur comme interface d'interrogation/rapports."
Je connais bien les principes que vous évoquez (saisie, traitement, stockage), ce qu'est un SGBD. 
Mon souci est, comme indiqué, de ne pas complexifier la maintenance pour celui qui la reprendra. Si 
je fais du pur SGBD, un formulaire...la complexité monte d'un cran que je me suis interdit.  
(actuellement, si des actions de maintenance sont nécessaires dans Base, elles seront limitées à 
des modifications de critères de sélection, tri...dans les requêtes, qui peuvent se réaliser par 
l'interface graphique d'édition des requêtes dans Base, donc assez simple).
J'ai simplement constaté que LO, dans calc avait bien intégré des fonctionnalités nativement plutôt 
SGBD (tri, actualiser la plage, validité). Notamment cette dernière, que j'ai bien observé 
fonctionner n'est pas qu'une fonctionnalité tableur.
J'espérais que LO ait développé une génération automatique d'une formule dans une cellule atteinte par la 
saisie. La complexité et la logique d'un tel développement me semble d'un niveau analogue à celui induit par 
la fonctionnalité "Validité".  Au vu des 1eres réponses, cela ne semble pas être le cas. J'en ferai 
mon deuil.

4-"Comme vous devinez à mon commentaire, finalement la bonne route n'est
pas le tableur, même mâtiné de SGBD. Passez en 100% Base, quitte à
conserver le tableur comme interface d'interrogation/rapports."
Comme indiqué en 3, tout passer en Base implique une maintenance plus complexe.



________________________________
De : Jean-Francois Nifenecker<jean-francois.nifenecker@sud-ouest.org>
Envoyé : dimanche 25 août 2024 22:59
À :users@fr.libreoffice.org  <users@fr.libreoffice.org>
Objet : *** SPAM *** Re: [fr-users] Calc : Ajout de formule automatiquement dans nouvelle ligne

Bonsoir François,

Le 25/08/2024 à 19:19,francois.saint-christophe@orange.fr  a écrit :
Bonsoir,
tout d'abord, j'espère avoir plus de chance que lors de mes échanges précédents avec cette liste : 
les caractères accentués n'étaient pas pris en compte et les messages pas trop lisibles. J'ai alors 
reçu le conseil de ne plus passer par le web orange. J'utilise donc outlook. Nous verrons !
Je confirme que tout va bien !

Pour les besoins d'une section d'un club auquel j'appartiens, j'ai développé un outil qui permet de 
faire la gestion nécessaire :
- saisie du fichier adhérent dans un .ods
[...]

Je prévois d'ajouter une colonne cotisation.
Je souhaiterai qu'à chaque nouvel adhérent saisi, cette colonne se charge automatiquement de la 
formule de calcul des cotisations.
J'ai essayé de la prevaloriser par copier coller sur un grand nombre de lignes. Le problème est que 
tous ces lignes sont vues comme des lignes de la base de données ods. Et c'est contraire à la 
logique de base de données.
oui.

Dans votre tableur, il faut faire ce que font les professionnels dans
les SGBD (systèmes de gestion de bases de données) : séparer la saisie,
le traitement et le stockage.

La feuille de saisie peut faire appel à une formule de cotisation,, ça ne
pose pas de pb. Elle correspond(rait) à un "formulaire" dans un SGBD.
Dans certains cas on peut même imaginer plusieurs feuilles de saisie
dédiées à plusieurs types de données.

Le stockage devrait être sur un feuille *séparée* du classeur. En
l'occurrence par simple recopie des valeurs de la feuille de saisie.
S'il y a plusieurs feuilles de saisie, vous pouvez soit les agglomérer
dans une unique feuille de données soit gérer plusieurs feuilles de
stockage, en fonction du besoin.
-> Liez alors cette/ces feuille-s à votre odb (où elle devien-nen-t
une/des table-s) et non pas la-les feuille-s de saisie.



Comme vous devinez à mon commentaire, finalement la bonne route n'est
pas le tableur, même mâtiné de SGBD. Passez en 100% Base, quitte à
conserver le tableur comme interface d'interrogation/rapports.

Mais en attendant, la méthode indiquée ci-dessus devrait vous aider.

Je précise que, pour rester dans la logique retenue pour le développement initial, je ne souhaite 
pas utiliser de macro.
Une fonction de LO permet elle celà ?
Oui, Base (voir ci-dessus) :-)

Bonnes suites !


Très cordialement,
--
Jean-Francois Nifenecker, Bordeaux

--
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


--
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.