Monsieur Excel
Pour tout savoir faire sur Excel !

21 novembre 2014

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 Blogger 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 Anonymous 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 Anonymous 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 Anonymous 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 Anonymous 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 Anonymous ID, sur 9:06 AM  

Enregistrer un commentaire

<< Accueil