Pas sûre que ça soit arrivé à sa destination finale. Avec mes compléments.
Le 14/11/2014 23:55, Jean-Francois Nifenecker a écrit :
Le 14/11/2014 20:21, Kyle a écrit :
Qu'appelez-vous travailler avec des noms ?
Voici un exemple de formule "à rallonge" :
=CONCATENER(
(SI(ESTVIDE(IT5);"";(CONCATENER(IU5;" x ";IT5;"/";IV5;" (
";(GAUCHE(AO5;30));"... )";))));
(SI(ESTVIDE(IX5);"";(CONCATENER(" + ";IY5;" x ";IX5;"/";IZ5;" (
";(GAUCHE(BC5;30));"... )";))));
(SI(ESTVIDE(JB5);"";(CONCATENER(" + ";JC5;" x ";JB5;"/";JD5;" (
";(GAUCHE(BQ5;30));"... )";))));
(SI(ESTVIDE(JF5);"";(CONCATENER(" + ";JG5;" x ";JF5;"/";JH5;" (
";(GAUCHE(CE5;30));"... )";))));
(SI(ESTVIDE(JJ5);"";(CONCATENER(" + ";JK5;" x ";JJ5;"/";JL5;" (
";(GAUCHE(CS5;30));"... )";))));
(SI(ESTVIDE(JN5);"";(CONCATENER(" + ";JO5;" x ";JN5;"/";JP5;" (
";(GAUCHE(DG5;30));"... )";))));
(SI(ESTVIDE(JR5);"";(CONCATENER(" + ";JS5;" x ";JR5;"/";JT5;" (
";(GAUCHE(DU5;30));"... )";))));
(SI(ESTVIDE(JX5);"";(CONCATENER(" + ";"/";JX5))));
)
-- Découpez cette horreur en sous-formules (dans des cellules
intermédiaires) ; dans votre cas il y aurait 8 cellules intermédiaires.
Ensuite vous cachez les colonnes/lignes qui contiennent ces calculs
intermédiaires.
On peut même le faire sur une autre feuille. Cette façon de découper la
formule permet en outre de mieux contrôler sa validité puisque qu'on
peut voir plus facilement là où ça pêche.
-- Remplacez la fonction CONCATENER() par l'opérateur & (en plus il
semble qu'il y ait des parenthèses en surnombre dans vos formules)
La première ligne donne ceci :
SI(ESTVIDE(IT5) ; "" ; IU5 & " x " & IT5 & "/" & IV5 & " ( " &
(GAUCHE(AO5;30)) & "...)")
On peut mettre des espaces autour des opérateurs, ce qui améliore la
lisibilité.
On pourrait mettre la troisième partie du SI() dans une cellule séparée
(disons ZZ5), ce qui donnerait :
= SI(ESTVIDE(IT5) ; "" ; ZZ5)
Avec, dans ZZ5
= IU5 & " x " & IT5 & "/" & IV5 & " ( " & (GAUCHE(AO5;30)) & "...)"
Et si on nomme IT5 en "nombre_enfants" et ZZ5 en "age_du_capitaine", on
obtient :
= SI(ESTVIDE(nombre_enfants) ; "" ; age_du_capitaine)
C'est pas plus facile à lire/comprendre ?
-> On peut (doit !) nommer les cellules/plages/colonnes/lignes afin de
rendre les formules lisibles et auto-documentées.
Pour compléter un article, absolument œcuménique, qui explique pourquoi
et comment sur les deux suites bureautiques.
http://dutailly.net/tableurs-travailler-avec-des-noms/
Je pense que ça pourrait être une amélioration à apporter à
LibreOffice.
Aussi bon que puisse être l'outil, il faut aussi que *l'utilisateur*
s'attache à rendre son travail *lisible et documenté*.
Et c'est vrai que c'est un vrai effort à faire qui n'est que trop
rarement compris/fait.
En effet, si le travail se limite à écrire des formules aujourd'hui sans
faire en sorte de préparer les évolutions toujours possibles, alors il
suffira d'un rien pour devoir mettre le classeur à la poubelle et tout
recommencer : changement dans l'organisation du service (le créateur
s'en va), modifications réglementaires (ajout d'une condition),
évolutions de la chaîne de traitement (un autre service doit prendre le
relais)...
Surtout que ces fameux retours chariots sont non seulement interprétés
différemment mais susceptibles aussi de l'être plus tard.
Il reste une solution si, vraiment, vraiment, on ne peut pas avoir autre
chose qu'une longue formule épouvantable, c'est de l'écrire à part dans
un éditeur de texte (par exemple Notepad++) et de la copier-coller dans
le tableur ensuite. L'un des avantages de cette formule est qu'on peut
garder ce fichier sous forme txt à part et y ajouter des commentaires.
Bref, il n'y a strictement aucune raison de recourir au bricolage des
retour chariot.
Bon courage,
--
Ysabeau
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être
supprimés
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.