Calc : trop de "Si" tue le "Si" ?

Bonsoir

Avec Windows 7 et LO 5.0.6.3

Parfois, quand je saisis des formules imbriquant plusieurs "Si", j'ai un phénomène curieux et agaçant qui se produit :

  * Calc me transforme certains "points-virgule" en "tilde" : ~Si
  * Calc m'ajoute d'autorité tout un tas de parenthèses fermantes.
  * La formule renvoie une valeur d'erreur : 502 ; argument incorrect...

À priori, dans ces cas là, je vérifie bien le nombre de parenthèses ouvrantes et fermantes ainsi que la cohérence de l'imbrication des "Si".

Pour le cas du jour, j'ai 8 "Si" qui s'enchaînent et/ou s'imbriquent.
Y a-t-il une limitation au nombre de "Si" dans une formule ? Huit ne me semble pas énorme...
Que signifie le signe "tilde" ( ~) ajouté par Calc à la place d'un bon vrai point virgule ?

Exemple :

Je saisis :
=SI(ESTNUM(B2);SI(OU(ESTVIDE(C6);ESTVIDE(C7));0;SI(ESTVIDE(B22);"";SI(ESTVIDE($C$15);(RECHERCHEV(B22;'Pas toucher !'.G$64:K$76;5);SI($C$15="REP";(RECHERCHEV(B22;'Pas toucher !'.G$64:K$76;6);SI($C$15="REP+";(RECHERCHEV(B22;'Pas toucher !'.G$64:K$76;7);SI($C$15="Sauv. ZEP";(RECHERCHEV(B22;'Pas toucher !'.G$64:K$76;8);SI($C$15="Sauv. Eclair";(RECHERCHEV(B22;'Pas toucher !'.G$64:K$76;9;""))))))));"")

Dès que je valide la cellule, Calc transforme la formule ainsi :
=SI(ESTNUM(B2);SI(OU(ESTVIDE(C6);ESTVIDE(C7));0;SI(ESTVIDE(B22);"";SI(ESTVIDE($C$15);(RECHERCHEV(B22;'Pas toucher !'.G$64:K$76;5)~SI($C$15="REP";(RECHERCHEV(B22;'Pas toucher !'.G$64:K$76;6)~SI($C$15="REP+";(RECHERCHEV(B22;'Pas toucher !'.G$64:K$76;7)~SI($C$15="Sauv. ZEP";(RECHERCHEV(B22;'Pas toucher !'.G$64:K$76;8)~SI($C$15="Sauv. Eclair";(RECHERCHEV(B22;'Pas toucher !'.G$64:K$76;9)~"")))))));""))))))

Merci

Luc

Bonjour,

Le problème ne viendrait-il pas d'un excès de parenthèse dans la formule initiale ?
Toutes celles devant RECHERCHEV me semblent inutiles. En les retirant, cela fonctionne chez moi, tant sous Libo 4.4.7 que 5.0.6.

Quant à l'apparition du "~" quand calc tente de corriger la formule, je ne sais pas...

Bonne soirée

Oui, oui bien sûr...
Rendez-vous chez l'ophtalmo à programmer d'urgence...

Luc

Utiliser une éditeur de texte peut faciliter l'écriture des formules complexes cela dit :-).

​On peut aussi décomposer les formules aussi longues dans plusieurs
cellules, quitte à les masquer. Cela permet une meilleure "maintenance" par
la suite :)​