Rendre incompatibles des données lors de génération de valeurs aléatoires

Bonjour à tous et merci d'avance pour votre précieuse aide.

Etant nouveau sur le forum, et novice en la matière j'espère être clair dans mon explication.

Contexte : je suis formateur en santé (kinésithérapie), afin de créer des examens pratiques je cherche à automatiser la génération de sujets d'examens.

j'ai réussi à générer des valeurs aléatoires à partir de plusieurs listes me permettant de créer des petits cas cliniques apparaissant ligne 38 (cf image jointe) en utilisant les fonctions INDEX et Alea entre borne.

Ma problématique ici dans mon exemple est que : dans l'articulation du genou le mouvement d'abduction n'existe pas .....

Je souhaiterai en fait pouvoir exclure (ou rendre incompatibles) certaines données présentent dans 2 listes différentes. Par exemple dans la colonne [articulation] je souhaiterai que la donnée [Genou] soit incompatible avec la donnée [Abduction] présente dans la colonne [Restriction de mouvement].

Merci pour l'aide que vous pourrez m'apporter.

Math.

forum excel

Bonjour,

Je pense qu'il faut faire des listes en cascade, une liste de restriction de mouvement pour chaque articulation possible, sur des colonnes différentes.

Par contre ça va pas mal complexifier la formule, j'aurais bien proposé d'utiliser la fonction Filtre et de faire plus simple, mais malheureusement elle n'existe pas sur la version Excel 2016... Donc je pense qu'il va falloir utiliser des fonctions comme EQUIV, DECALER, et autre.

Après je peux toujours bidouiller une fonction personnalisée qui fera à peu près pareil que la fonction FILTRE, mais il ne faut pas être allergique au VBA, après une fois que la fonction personnalisée est faite, il n'y a pas vraiment besoin de la toucher normalement.

Hello,

Avec le fichier ce serait mieux mais je verrais un système de listes liées comme ceci où tu mets la liste des correspondances pour chaque articulation et en fonction de ce que ça va déterminé comme articulation, la macro ira chercher dans la bonne colonne pour éviter de générer "Genou" et "Abduction" dans ce cas là.

Est ce que ça pourrait te convenir ?

image

Ausecour, c'est exactement ça avec une petite formule sympathique :)

Merci déjà pour vos réponses rapides

pour répondre à ta question #BAROUTE78

cela pourrait me convenir, il faudrait juste que Ligne 38 (sur ma capture d'écran) apparaisse l'articulation ainsi que le mouvement pour l'énoncé de la question. Serait ce possible ?

Merci déjà pour vos réponses rapides

pour répondre à ta question #BAROUTE78

cela pourrait me convenir, il faudrait juste que Ligne 38 (sur ma capture d'écran) apparaisse l'articulation ainsi que le mouvement pour l'énoncé de la question. Serait ce possible ?

C'est possible, en fait sa solution rejoint la mienne comme je parlais de ce genre de listes (sauf que comme je ne l'avais pas illustré ce n'était pas clair), mais comme je l'ai dis ça va donner une assez grosse formule, mais c'est faisable. Mais pour développer cette formule ça serait vraiment pratique d'avoir le fichier

OKay et bien merci à vous deux alors.

Ce serait possible de m'expliquer comment faire ? ou bien connaissez vous des tutos qui permettent de réaliser cela ?

Je propose que tu essayes de décortiquer la formule de la case jaune, un exemple te parlera peut-être d'avantage:

16classeur1.xlsx (17.25 Ko)

Si tu as des questions n'hésite pas à en poser!

Ne pourrait on pas juste dans la formule inscrite en D38 : =INDEX($G$30:$G$35;ALEA.ENTRE.BORNES(1;6)) intégrer que si "genou" en B38, "adduction" soit impossible ?

Si c'est vraiment si simple que ça, alors oui on peut bricoler:

=INDEX($G$30:$G$35;ALEA.ENTRE.BORNES(1;SI(B38="genou";5;6)))

Si c'est genou, ça ne peux choisir que de 1 à 5, donc pas adduction, sinon de 1 à 6.

Si tu pars la dessus, tu vas devoir gérer tous les cas possibles d'impossibilité. J'avais jamais eu la possibilité de faire cette oxymore

Dans ta formule INDEX($G$30:$G$35;ALEA.ENTRE.BORNES(1;6)) il faut variabiliser :

- $G$30:$G$35 : en fonction de l'articulation tu vas faire telle ou telle plage

- ALEA.ENTRE.BORNES(1;6) : dans cette partie le 6 doit pouvoir être variable en fonction de la liste où tu vas chercher

Pour le coup ce n'est pas si compliqué mais avec un fichier ce serait plus simple, tu peux le partager ?

Merci d'avance

excel2

Toujours sur le même sujet, mon projet a évoluer grâce à vos réflexions.

J'ai donc utiliser la formule proposée :=INDEX($G$30:$G$35;ALEA.ENTRE.BORNES(1;SI(B38="genou";5;6))) pour tenter de la remanier pour ma nouvelle organisation.

Pour vous expliquer : ce que je cherche à faire c'est que en H50 apparaissent 1 à 6 (L47 à L52) si en D50 apparait la valeur "Mobilité Passive"

et que en H50 apparaissent 7 à 8 (L53 à L54) si en D50 apparait la valeur "Motricité"

j'ai tenté la formule =INDEX($L$47:$L$54;ALEA.ENTRE.BORNES(1;SI(D50="Mobilité Passive";6));ALEA.ENTRE.BORNES(7;SI(D50="Motricité";8))) qui me met un message d'erreur.

Si vous me corrigez la formule pour réussir cela, vous aurez réussi à répondre à ma problématique et on pourra clore mon post !!

Hello,

Est ce que que ça te convient ?

@+

Eh bien je vous remercie

Juste avant de partir en vacances je vais enfin pouvoir boucler un problème qui me hante depuis quelques mois !!!

Merci beaucoup

sans problèmes, hésite pas passer le sujet en résolu :)

Bonnes vacances

Rechercher des sujets similaires à "rendre incompatibles donnees lors generation valeurs aleatoires"