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


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.

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

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


Bon courage,
-- 
Jean-Francois Nifenecker, Bordeaux

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