Bonjour,
Je reviens vers vous un peu plus tardivement que prévu et avec la maquette commandée par Michel. Je remercie aussi Sylvain de sa participation, même s'il présume un peu trop de mes compétences dans Excel et le VBA.
Je résume : je cherche une fonction Xor qui me permette de traiter un plage de cellule comme la fonction OR déjà implémentée dans Excel afin que je puisse écrire dans une cellule une fonction du type :
XOR(A1:E1)
Dans l'Excel joint, vous trouverez dans la première feuille pour info une liste des facteurs de risque du cancer du colon. Dans le deuxième onglet, un extrait de la table de vérité que je suis en train de construire. Je n'ai gardé que certaine des combinaisons qui pourraient caractériser la notion de risque Elevé pour le cancer du colon qui peut s'énoncer comme suit : Il faut que le facteur de risque 11 (colonne L) soit PRESENT, ET que UN des facteurs 4 à 8 (colonnes E à I) soit présent. La science a donc repéré que les associations suivantes de facteur de risque sont susceptible de faire passer un patient en situation de risque très elevé :
(11,4)
(11,5)
(11,6)
(11,7)
(11,8)
Par contre dans l'état actuel des connaissances, nous ne sommes pas capable de dire si une associaion telle que (11,4,6) fait passer du statut de risque Elevé à un autre statut, ou si ce statut reste inchangé.
Pour répondre à cette exigence je dois donc écrire que le risque Elevé correspond à la situation :
(11) ET [ (4) XOR (5) XOR (6) XOR (7) XOR (8)]
Autrement dit sur une feuille Excel :
=SI(ET($L6;XOR($E6;$F6;$G6;$H6;$I6));"Risque Elevé";"Niveau inconnu")
Malheureusement je ne dispose pas de cette fonction XOR et sachant que :
A XOR B = (A ET NonB) OU (NonA ET B)
j'écris donc dans ma feuille Excel (exemple cellule Q6) :
=SI(ET($L11;OU(ET($E11;NON($F11);NON($G11);NON($H11);NON($I11));ET(NON($E11);$F11;NON($G11);NON($H11);NON($I11));ET(NON($E11);NON($F11);$G11;NON($H11);NON($I11));ET(NON($E11);NON($F11);NON($G11);$H11;NON($I11));ET(NON($E11);NON($F11);NON($G11);NON($H11);$I11)));"Risque Elevé";"Niveau inconnu")
J'espère que tout le monde aura compris que j'en ai un peu marre de me brûer les yeux à vérifier les paranthèses et autres incohrences dans la formule, alors qu'un petit XOR me permettrait de l'écrire en UNE ligne !!!
Help !
Merci à tous d'avoir pris le temps de lire ces lignes pour le moins indigestes...
Dernière précision, si je me débrouille pas trop mal en analyse de données et autre tableaux croisés dynamiques, je suis nullissime en VBA. Je ne sais même pas comment on fait pour écrire du code.
A vous lire
Philippe