Une formule très complexe !
Je
fais du conseil en modélisation depuis 1967, donc depuis 47 ans déjà. Dans
ce cadre, j’ai créé et/ou audité et/ou amélioré les modèles de plus de 100
entreprises dans plus de 10 pays. Parmi ces entreprises, j’ai travaillé pour les
sociétés pharmaceutiques suivantes : Aventis, Johnson & Johnson, Lilly
France, Pasteur Mérieux, Sanofi et Smithkline Beecham.
Hier,
je travaillais chez l’une de ces entreprises et j’ai rencontré une formule qui
est probablement la plus complexe que j’aie jamais rencontrée lors de telles
interventions. Cette formule était reproduite sur 12 colonnes, une fois par
mois de l’année (avec de petites différences en janvier et décembre), et
apparaissait dans huit blocs horizontaux consécutifs..
Voici
la formule pour le mois de février :
Remarque – Quand on édite la
formule, on voit bien les différents éléments dans des couleurs différentes, ce
qui est une excellente idée de la part de Microsoft. Ce qui est regrettable,
c’est qu’il n’y ait pas la possibilité d’augmenter la taille de la police ou de
disposer d’une loupe. En effet, malgré les couleurs, avec de petits yeux comme
les miens, il est difficile de bien associer les parenthèses fermantes aux
parenthèses ouvrantes.
La
question que je vous pose, et à laquelle vous trouverez une réponse dans le
prochain article, est donc : « Que feriez-vous dans une telle situation pour rendre la formule plus compréhensible
et même – dans la mesure du possible – auditable ? »
6 Commentaire(s):
Une petite idée de développement pour améliorer la lisibilité au niveau des parenthèses.
Microsoft pourrait tenter de développer une option permettant de développer une formule en séparant chaque instance en parenthèse sur des lignes différentes imbriquées (façon code vba) avec en plus l'affichage de la valeur correspondante à chaque étape de la formule.
nbresson@outlook.com
By Nicolas, sur 7:55 PM
Lors de la saisie de la formule on peut insérer des retours à la ligne ou des espaces. Cela permet de recréer une petite indentation qui facilite la lecture...
By Anonyme, sur 9:11 PM
Pour moi, une formule longue n'est pas synonyme de formule complexe.
On peut ajouter :
- des retours à la lignes
- Ajouter des commentaires en fin de ligne via +N("Mon commentaire")
- Passer des parties de la formule dans des noms définies
Arnaud
By Anonyme, sur 10:10 AM
Bonjour,
Il est possible de déclarer un nom qui contient une formule et non une référence à une cellule ou à une plage.
Évidement, je n'ai pas décortiqué la formule, mais si des parties communes existent on peut les "ranger" dans des noms.
On peut définir COND1 comme = ET(ANNEE(Prem_inc)=Year;ANNEE(Der_traité)>Year) et utiliser COND1 plusieurs fois dans la formule.
COND1 pourrait bien sûr être plus explicite.
Suis-je sur la bonne voie !!!
Bien à vous,
J-M Lambert
By perso.unamur.be/~jmlamber, sur 12:24 PM
Une "function" VBA bien sûr !
Bien commentée...
Avec des variables aux noms explicites...
et donc facile à maintenir/déboguer
De plus, je n'ose pas imaginer la taille du fichier Excel si la formule proposée est recopiée à des milliers d'exemplaires.
Ce genre de formule me rappelle toujours le temps lointain où je travaillais en langage APL. Il y avait des personnes qui s'évertuaient à écrire des programmes les plus courts possibles, totalement incompréhensibles par d'autres (et parfois même par leur auteur quelques jours plus tard). On appelait des "one-liners", c'est assez significatif !
By cduigou, sur 6:19 PM
Un maximum de noms pour les éléments de la formule ce qui permet de comprendre de quoi il s'agit et... je la copierais dans un éditeur de texte de type Notepad++ pour mieux la lire et la corriger.
By ID, sur 9:06 AM
Enregistrer un commentaire
<< Accueil