En fait mon système avec CalculTotal était pour avoir la réponse stocké en base de données (ce que fait normalement la question de type fonction).
Puis avoir une réponse avec le score et son commentaire au format imprimable et pas seulement à l'écran.
Alors mon questionnaire a deux type de question :
Question type Liste bouton radion (valeur mise à : Oui/Non)
G1Q0001.value,G1Q0003.value,G1Q0004.value
Question type double échelle :
G12Q0001_SQ001_0
G12Q0001_SQ001_1
G12Q0001_SQ002_0
G12Q0001_SQ002_1
En utilisant sum j'ai bien la somme totale des questions :
sum(G1Q0001.value,G1Q0003.value,G1Q0004.value,if(G12Q0001_SQ001_0.value==0,"",G12Q0001_SQ001_0.value),if(G12Q0001_SQ002_0.value==0,"",1)
Mais je ne peux pas ajouter une réponse conditionnée au score obtenu à cause des if pour la question de type double échelle :
{if(sum(G1Q0001.value,G1Q0003.value,G1Q0004.value,if(G12Q0001_SQ001_0.value==0,"",G12Q0001_SQ001_0.value),if(G12Q0001_SQ002_0.value==0,"",1))>200,"Bon score",if(sum(G1Q0001.value,G1Q0003.value,G1Q0004.value,if(G12Q0001_SQ001_0.value==0,"",G12Q0001_SQ001_0.value),if(G12Q0001_SQ002_0.value==0,"",1))>=29,"Vous êtes dans la moyenne"))}
J'ai du donc passer par une variable intermédiaire pour avoir la réponse conditionnée.
{CalculTotal=sum(G1Q0001.value,G1Q0003.value,G1Q0004.value,if(G12Q0001_SQ001_0.value==0,"",G12Q0001_SQ001_0.value),if(G12Q0001_SQ002_0.value==0,"",1)}
{if(CalculTotal.value>=200,"Bon score, félicitations",if(CalculTotal.value>=29,"Vous êtes dans la moyenne, félicitations.",if(CalculTotal.value>=2,"Votre banque de données respecte moins de la moitié des critères.","Votre banque de données présente de nombreuses lacunes")))}.
J'ai peut être mal fait ma condition, je suis preneur de proposition.
On peut pas faire des if imbriqués qui enchaine une autre fonction (sum) avec encore un if ?
Mais au début j'avais un doute sur un bug à cause du chiffre zéro qui était pris en tant que chaine de caractère si on n'utilise pas la fonction sum.