Menu

Si j’avais sû !


Je rappelle, que toutes nos histoires sont basées sur des faits réels. Celle-ci n'échappe pas à la règle.

Les données sont fictives pour respecter l'engagement de confidentialité que j'ai signé. Toutefois, si vous avez un compte Paypal bien rempli, nous pouvons discuter.

Fonction SI(), la meilleure solution ?

Phoque mort de rire.

Laissez-moi vous conter la mésaventure arrivée dernièrement.

La machine à café en glousse encore hilare.
Ce phénomène est parfois gênant, quand le café à chaque hoquets gicle sur l'avant du pantalon de l'infortuné en lieu et place de la tasse prévue à cet effet.

Muchmuch a encore bien fait rire Miss Sessy.

Une histoire de correspondance

Buzzbee, il a besoin d'une "feuille de calcul" pour associer des catégories de projets avec un code.

Allez savoir pourquoi, exceptionnellement, Buzzbee ne sollicite pas Muchmuch et fait appel à une société de services (SSII ou 2S2I).

Le cahier des charges est plutôt simpliste.

  • Une colonne permet de saisir le projet.
  • Une autre la catégorie du projet
    Chaque catégorie de projets est associée à un code.
  • Enfin la colonne calculée permet de retrouver le code.
Capture tableau Microsoft Excel avec des Si() imbriqués.

Figure 1 : Tableau finalisé.

Le SI(), c'est magique

La formule utilise des fonctions SI() imbriquées.

=SI($D11="Publication";"COM_01";SI($D11="Veille";"TCH_01";SI($D11="Construction agence";"CST_01";SI($D11="Publicité";"COM_02";SI($D11="Construction extension";"CST_02";SI($D11="Construction site";"COM_03";SI($D11="Recherche";"TCH_02";0)))))))

En langage d'homo-sapiens – Si la cellule contient la mention "Publication", affiche la valeur "COM_01", sinon si la cellule contient la mention "Veille", affiche la valeur "TCH_01", sinon si la cellule...

Notons que la solution proposée par la 2S2I est passée en coup de vent dans le service des homo-cérébro pour validation.

La réponse s'étant perdue lors d'un bug, c'est le collègue fortiche en informatique qui valide le projet.
Pour lui c'est cohérent et il aurait fait de même.

Le SI(), c'est limite

Puis un jour, une nouvelle catégorie est nécessaire "Étude de faisabilité".

Muchmuch contacte la société éditrice de la "feuille de calcul".

– Monsieur, pour répondre à votre requête (NDLR : et renseignements pris sur Internet parce que l'on ne s'en sort pas), il n'est pas possible d'imbriquer plus de 7 fonctions SI() dans une formule de calcul.

– La seule solution envisageable, est de fournir une macro V.B.A. qui fera le test et affichera le résultat dans la cellule.

– Bien évidemment, tout travail méritant salaire, nous n'hésiterons pas à demander des honoraires à la hauteur de notre compétence et de l'embarras dans lequel vous, vous trouvez.

Buzzbee en colère contre Muchmuch.

Buzzbee prend le relais et ce jour-là, les murs ont regrettés d'avoir des oreilles.

Conclusion de l'histoire, même Buzzbee baisse les bras face à un homo-cérébro.

– Mais Monsieur, il fallait nous le dire lors de notre première rencontre, il fallait le prévoir avant (sont vraiment nazes ces homo-sapiens) !

Buzzbee ne se démonte pas, il a une solution toute prête. – Dis Muchmuch, il faudrait que tu ...

Mais voilà, le classeur est protégé par un mot de passe. Ce qui réjouit Muchmuch qui échappe à la corvée.

De guerre lasse, Buzzbee lâche l'affaire, la 2S2I réalise le correctif, et la comptabilité paye la facture.

Buzzbee est dubitatif car il se doute que l'histoire risque de se répéter.
Il se sent captif et il n'aime pas ça.
D'autant plus que si les codes ou libellés des catégories doivent être modifiés, la feuille étant protégée c'est impossible sans passer par la 2S2I.

Une alternative plus élégante

Plus tard Muchmuch me raconte l'affaire. En un éclair, je lui propose une autre solution.

Pourquoi ne pas faire un tableau avec la liste des catégories de projets et le code associé.

Capture tableau Microsoft Excel liste de correspondance.

Figure 2 : Tableau de correspondance libellés et codes.

Là où tu souhaites retrouver le code, tu fais une simple RechercheV().

=RECHERCHEV($D11;'Categorie-projet'!$C$11:$D$23;2;FAUX)
Capture tableau Microsoft Excel utilisant la RechercheV()..

Figure 3 : Tableau utilisant la RECHERCHEV().

Si tu as besoin de nouvelles catégories de projets, il suffit de la rajouter dans le tableau des catégories.

Conclusion

La fonction Si(), ne sert nullement à retrouver des valeurs.
Ce n'est pas par hasard si Microsoft s'est cassé l'os à pondre des fonctions de recherche.

  • si les valeurs changent, il faut modifier la "formule de calcul" ;
  • au-delà de 7 Si() imbriqués, tout ce complique ;
  • il devient vite difficile de retrouver la logique de la formule.

Muchmuch, il est vert, Buzzbee est tout rouge, le fortiche se fait petit.

Les homo-cérébro ils sont débordés à comprendre pourquoi leur réponse n'est jamais arrivée (précisons qu'à ce jour, ils n'ont pas de réponse) !

Les homo-cérébro, Excel, ils ne le connaissent pas. Ils seraient capables de vous créer un tableur, mais ils ne savent pas l'utiliser.
Même le collègue fortiche en sait souvent autant qu'eux.

Un truc à faire ?
Spontanément, ils vont penser programmation et te pondre une usine à charbon.

Restez informé

Inscrivez-vous à la newsletter et recevez l'actualité du blog dans votre boite aux lettres.