Menu

Créer un court programme informatique [Résolu/Fermé]

Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
- - Dernière réponse : cadmus
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
- 29 janv. 2015 à 19:07
Bonjour à tous,
Je suis peu expert en Excel, mais je vais essayer d'exposer clairement ma demande.
Je cherche à créer un petit programme informatique et je ne sais pas quel logiciel utiliser. C'est pour faire de l'information médicale.
Il s'agirait d'un petit formulaire avec 5 ou 6 données numériques à entrer (taille, poids, âge, IMC etc...) qui me donneraient en fonction des chiffres entrés un code préétabli. Ce qui donne plusieurs conditions à entrer pour donner automatiquement un résultat. Exemple : en tapant tel âge, puis tel poids ou telle autre donnée, cela donnera tel code.

Je voulais essayer par Excel, mais ça donne des fonctions un peu trop complexes à mon niveau ("si telle cas égale tant et si telle autre égale tant, alors... et si.... et si...."). Du coup, je me demandais s'il était possible de faire un petit programme en langage informatique (on trouve des tutos facilement sur le net), ou si c'est réalisable par Excel et qu'il faut faire des formules compliquées, mais faisables.
J'espère avoir été assez clair dans mes explications, sinon je m'expliquerai mieux.

Merci à vous qui pourraient peut-être me renseigner !
Afficher la suite 

9 réponses

Messages postés
22778
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
5555
0
Merci
Bonjour,

dépose un fichier xls sur cjoint.com et colle ici le lien fourni.
Met dessus le mode de calcul précis avec tous les détails.
Précise également si tu fais plusieurs saisies qui s'ajoutent les unes en-dessous des autres ou une seule. Enfin tout le fonctionnement désiré, avec un début de présentation si tu as des idées.

eric
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
0
Merci
bonsoir, voici le lien : http://www.cjoint.com/15jv/EAzx6shvVti.htm
C'est le type de formulaire que j'aimerais créer. En entrant des données, il me donnerait un résultat. Il s'agit de données médicales. En gros, les fonctions seraient : si l'âge est inférieur ou supérieur à 70, si l'IMC (qui serait calculé automatiquement à partir du poids et de la taille) est inférieur à "tant", si l'albuminémie est inférieure à "tant", si la perte de poids est de "tant", le résultat serait un code parmi une liste préétablie qui varie donc selon ces critères.
Donc déjà niveau formules, ça devient un peu compliqué pour moi, c'est pour ça que je me demandais si Excel le permettait ou s'il faut passer par une programmation autre....
Pour la présentation, je sais qu'on peut faire un formulaire pour une présentation type celle que j'ai jointe.
eriiic
Messages postés
22778
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
5555 -
Non, mais sur excel fait un tableau où tu mets tous les critères et les résultats (codes) à avoir en fonction de ceux-ci.
inférieur à "tant" excel ne connait pas... Et précise bien < ou <= qu'il n'y ait aucune ambiguïté.
eric
Messages postés
49375
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
10275
0
Merci
Bonjour cadmus.

Je dirais, à première vue, qu'Excel me paraît tout-à-fait approprié pour réaliser ton projet. Ecrire une macro en VBA implique d'être dans Excel.
Et faire une programmation sans logiciel ne relève pas de ce forum.
cadmus
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
-
Merci, en quoi une macro en VBA peut m'aider ? et pour Excel, des formules complexes sont donc possibles ?
Raymond PENTIER
Messages postés
49375
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
10275 > cadmus
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
-
Ta demande se synthétise ainsi : "Je cherche à créer un petit programme informatique et je ne sais pas quel logiciel utiliser ... Je voulais essayer par Excel, mais ça donne des fonctions un peu trop complexes à mon niveau ... je me demandais s'il était possible de faire un petit programme en langage informatique ... ou si c'est réalisable par Excel et qu'il faut faire des formules compliquées, mais faisables."
Une macro, c'est une programmation spécifique aux logiciels de bureautique, qui utilise le langage VBA. Une macro en VBA est donc la réponse directe à ton souhait d'écrire un petit programme et à ton envie d'essayer Excel.
Ceci dit, écrire la macro ne sera pas forcément moins complexe qu'utiliser des formules classiques ! Et bien entendu complexe n'étant pas synonyme d'impossible, j'estime que c'est réalisable.
J'ai d'ailleurs commencé un fichier-exemple ; j'attends juste que tu réagisses à la proposition d'Eric au post #3 ...
Messages postés
321
Date d'inscription
mercredi 14 janvier 2015
Statut
Membre
Dernière intervention
2 février 2015
19
0
Merci
Même avis.
Messages postés
6138
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 juillet 2019
373
0
Merci
Bonjour,

Voici un exemple simple du calcul de l'IMC. Tu peux t'en inspirer pour ton projet:

http://www.learning-center.ch/movies/xls1/xls_ex3.html
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
0
Merci
Voici le tableau original des conditions : http://www.cjoint.com/?0ABjKe2818e
je remets le formulaire que j'aimerais créer avec les critères à remplir (pour la case "CRP", je devrai mettre un message d'alerte s'il est > 5 du style "calcul impossible") : http://www.cjoint.com/data3/3ABjNfuy8ke.htm

Je ne demande évidemment pas une réponse avec les formules toutes faites, je veux y réfléchir et vous avez d'autres chats à fouetter ! C'était pour savoir quoi utiliser... Et pour Raymond P. concernant les macros VBA, j'ai acheté un livre pour apprendre car j'en aurai besoin de toute façon plus tard dans mon travail, courage !
Quand je parlais de programme informatique, c'était pour la présentation, style faire une petite application à mettre sur mon pc et celui de mes collègues; mais si Excel avec un joli formulaire peut faire l'affaire, ça m'arrange !
eriiic
Messages postés
22778
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
5555 -
Bonjour,

Comment tires-tu qq chose à partir de ton tableau ?
Les critères se contredisent les uns les autres selon les résultats des tests, et il manque des valeurs.
Si IMC >17 on met quoi ?
Et par exemple :
IMC<=17 donne E44.1 mais s'il a Albumine <20 c'est E40.0. Tu veux quoi du coup ?
Explique plus en détail avec différents exemples.

eric
cadmus
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
-
Cher Eric (je me permets !),
vos remarques m'ont fait réfléchir à la façon de poser le problème. Je suis en train de me creuser les méninges avec les formules imbriquées d'Excel ; ça m'est compliqué, mais pas impossible et je vais y travailler dessus demain (je songe d'ailleurs à une autre méthode que je vous expliquerai si j'y arrive !...). Je vous mets tout de même ci-joint un doc que j'ai écrit et qui reprend mes conditions, j'espère qu'il vous sera plus clair à comprendre (même si pour un critère ça se complique un peu...).
J'insiste bien : je ne désirais pas sur ce forum que l'on me donne les formules toutes faites, car mon but est d'en apprendre plus en informatique, et c'est en se creusant la tête qu'on apprend ! Je voulais simplement votre avis sur une méthode à utiliser (Excel, langage VBA ou autre langage informatique). Je vous remercie de vos réponses en tout cas, et je posterai sous peu mon essai de formules (plus ou moins imbriquées) pour avoir votre avis, bonne soirée à vous :
http://www.cjoint.com/data/0ABxHH2F5Nm.htm
eriiic
Messages postés
22778
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
5555 -
C'est faisable par formule avec des Si() imbriqués.

sauf si un des critères du code E44.0 ci-dessous sont remplis, celui-ci prévaut..... là je bute un peu....)
Il faut démarrer par ces tests là, et si tu n'as pas E44.0 tu attaques les autres tests.
Et si tu débutes tu peux faire une partie des tests dans une cellule intermédiaire, et tester le résultat dans un autre si().
Ca évite d'avoir des formules trop longues et plus difficiles à gérer.

Par exemple en A1 :
=SI(OU(albuminémie <20;pré-albuminémie <50;perte de poids >= 10% en 1 mois;perte de poids >= 15% en 6 mois);"E44.0";"")
Et en A2 tu testes ce résultat de test :
=si(A1<>"";A1;si(ou(test1;test2);"E44.1";"")

Quand on met "" c'est pour retourner une chaine vide.

eric
cadmus
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
-
Je comprends mieux, merci. Je verrai tout ça à tête reposée, mais effectivement ça semble jouable avec les formules imbriquées. J'avais peur d'avoir trop de conditions à gérer, mais en lisant les autres posts du forum, on trouve des explications faisables pour contourner le problème (certains parlent de passer par une rechercheV, mais là c'est un peu trop compliqué pour moi....).
Du coup, j'ai fait un premier essai d'une autre méthode que je joins sur papier; c'est un essai, ne regardez pas la partie surlignée en rouge; j'essaierai de passer par une colonne "score" qui permet de faire des formules intermédiaires.
Encore merci !
http://www.cjoint.com/data/0ACbaVTOSi3.htm
Messages postés
49375
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
10275
0
Merci
Bonjour cadmus.

Après un examen minutieux de ton fichier du post #11 de 23:24, j'ai essayé de ré-organiser logiquement tes conditions pour faciliter l'écriture des formules :
http://cjoint.com/?EACbYCRLANN
Je t'envoie également un avant-projet de forulaire de saisie :
http://cjoint.com/?EACb2Y2wHGF

Cordialement.
Raymond PENTIER
Messages postés
49375
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
10275 -
Je vois que pendant que je travaillais à ton problème tu as envoyé un nouveau mail.
Je ne l'ai pas encore étudié ...
cadmus
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
-
Bonjour et merci,
tout d'abord pour la présentation, vous avez utilisé la fonction Formulaire ou tout fait directement à la main ?
quant à la fonction sierreur, je ne la connaissais et je ne saisis pas trop comment on l'utilise ?...
bien à vous
cadmus
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
-
et l'utilisation de la rechercheV sans ce cas ? j'ai aussi du mal avec cette fonction...
Messages postés
49375
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
10275
0
Merci
Bonjour cadmus.

1) Il n'existe pas de fonction Formulaire. Excel permet d'ajouter à la barre d'outils un onglet "Développeur" qui propose l'insertion de contrôles (boutons, cases à cocher, listes déroulantes, etc. Mais je ne m'en suis pas servi : c'est du tout fait main !

2) Tu écris en C1 la formule =A1/B1 et tu valides : Excel affiche en C1 le message d'erreur #DIV/0! qui signifie qu'il est impossible de diviser par zéro.
Tu la remplaces par la formule =SIERREUR(A1/B1;"combien en B1 ?") et tu valides : Excel affiche en C1 le texte "combien en B1 ?" ; dès qu'une valeur numérique est entrée en B1 le résultat de la division s'affiche.

3) La fonction RECHERCHEV a pour syntaxe
RECHERCHEV(valeur_cherchée;table_matrice;no_index_col;valeur_proche)
dans laquelle
valeur_cherchée est la donnée à propos de laquelle on cherche un renseignement
table_matrice est le tableau dans lequel valeur_cherchée se trouve en première colonne et dont les autres colonnes contiennent les informations liées à la première
no_index_col est le numéro de la colonne concernée du tableau, celle qui contient le type d'information recherché (et non pas la réféfrence de colonne de la feuille Excel)
valeur_proche est soit 1 (VRAI) soit 0 (FAUX) ; tu mets systématiquement 0.
C'est parfaitement décrit dans l'Aide d'Excel, obtenue en cliquant sur F1 !

C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
cadmus
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
-
Bravo alors si vous avez tout fait à la main !
Merci pour les explications sur la fonction SIERREUR et RECHERCHEV, c'est plus clair...
Je n'ai par contre pas compris pourquoi vous avez utilisé ces abréviations ainsi que celles pour l'âge "pl$m70" ? une raison particulière ?
Raymond PENTIER
Messages postés
49375
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
10275 > cadmus
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
-
Oui ; c'est que j'ai commencé à réfléchir à ton affaire, et que j'aurai certainement besoin de plages (pour les listes déroulantes de cellules) et de tables-matrices (pour la fonction RECHERCHEV) ; or ces noms de plage et de matrice n'acceptent pas d'espaces ; donc je prévois des noms plus courts et sans espaces ...
cadmus
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
-
En effet, je découvre chaque jour grâce à ces forums des nouvelles fonctions excel: CHOISIR, RECHERCHEV ou H, les formules matricielles..... En lisant les tutos, ça paraît clair, mais après dans la pratique, c'est plus difficile de s'y mettre ! Je ne perds pas espoir.
J'aurais une dernière question : en quoi une macro VBA pourrait m'aider dans un tel cas avec de nombreuses conditions à la suite ?
eriiic
Messages postés
22778
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
5555 -
Bonjour,

Aucun avantage à faire par macro ce qui est réalisable facilement avec les fonctionnalités de base d'excel.
Mieux vaut apprendre à utiliser correctement excel. Ca sera (presque) toujours plus rapide.
eric
Messages postés
49375
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
10275
0
Merci
Bonjour cadmus.

Eric
a raison (comme d'habitude) ; laissons les macros de côté pour le moment ...

Le tableau Word que tu as envoyé par post #13 le 28 janv. 2015 à 00:55 ne nous est pas d'une grande utilité, tant que tu n'as pas dis comment tu envisages de définir, de calculer et d'utiliser tes scores ! Quant à moi, je doute de l'intérêt de cette méthode ...

Si tu voulais calculer la perte de poids, il t'aurait fallu prévoir une case pour inscrire le poids précédent, une autre pour inscrire le poids actuel et une troisième pour faire le calcul ... et spécifier sur quelle durée (1 ou 6 mois) !

Le CRP ne figure pas du tout dans ton organigramme des conditions, envoyé par post #9 du 27 janv. 2015 à 09:34 -> à quoi sert-il ? quelle est son incidence sur la déter-mination du code ? serait-ce uniquement "Si CRP >15 : message d'alerte « syndrome inflammatoire, dosages non valables »" ?

Voici mon formulaire avec les cellules E12 et C19 complétées : les 4 feuilles te donnent des cas de figure suivant les valeurs de C12 et C18 et le cas "pas assez de critères" : http://cjoint.com/?EADsbDTKtgm

Et à bientôt.
C'est bien, la retraite ! Surtout aux Antilles ... :-)
Raymond (INSA, AFPA, CF/R)
cadmus
Messages postés
34
Date d'inscription
mardi 22 avril 2008
Statut
Membre
Dernière intervention
29 janvier 2015
-
Merci Raymond pour votre tableau, quand je parlais de faire une colonne "score", c'était dans le même esprit que ce que vous avez fait, c'est-à-dire faire des formules intermédiaires avec abréviations dans des cellules à part que je pourrai masquer ensuite; ça permettra après de faciliter le travail. J'avais aussi pensé à mettre des "notes" aux critères, et leur somme donnerait un résultat de code prédéfini, après il faut juste trouver les bonnes notes à mettre. De plus, je vois que vous avez utilisé la formule NBVAL qui m'en apprend encore un peu sur Excel.... je pensais avoir des bases, mais je me rends compte d'être très nul !

Quant à votre question sur la CRP, il s'agit juste d'un chiffre que l'on rentre aussi dans le formulaire; j'ai déjà mis un message qui apparaît si celui-ci est > à 15.
Je vais encore réfléchir à votre rechercheV