Faisabilité de statistiques via Excel

Bonsoir à tous,

Je m'excuse de vous déranger, mais je n'arrive pas à trouver la solution tout seul

Pour faire simple : j'ai une base de donnée répertoriant 100.000 consultations. Je veux faire des calculs statistiques me permettant de déterminer si l'occurence du risque est plus forte dans le groupe témoin ou le groupe controle

J'aurai besoin qu'excel me trie un peu les données, sans doute avec la fonction IF

Pour être plus clair j'ai donc 100.000 consultations pour un motif bien précis

Ces 100.000 consultations ont été faites par 80.000 patients, donc parfois il y a 2 voire 3-4 consultations pour une même personne, parfois à 2-3 jours d'intervalle, parfois à 4 ans d'intervalle

Chaque patient a un numéro de patient

Mon tableau se présente sous la forme suivante

Colonne A |||||||||||||||||||||||| Colonne B ||||||||||||||||||||| Colonne C |||||||||||||||||||||||||||||||||||||| Colonne D

numéro patient |||| date de consultation ||| présence du risque ? ||| date de la complication (vide si pas de complication)

||||||||||||||||||| 321 ||||||||||||||||||| ||||||||| 10/08/1999 ||||||||||||||||||| non |||||||||||||||||| ||||||||||||||||||| | 14/08/1999

||||||||||||||||||| 322 ||||||||||||||||||| ||||||| 14/10/2002 ||||||||||||||||||| oui ||||||||||||||| ||||||||||||||||||| ||||

||||||||||||||||||| 322 ||||||||||||||||||| |||||| 18/10/2002 ||||||||||||||||||| oui ||||||||||||||| ||||||||||||||||||| |||| 20/10/2002

||||||||||||||||||| 323 ||||||||||||||||||| |||||||| 05/04/1998 ||||||||||||||||||| oui ||||||||||||||||| ||||||||||||||||||| ||

||||||||||||||||||| 324 ||||||||||||||||||| |||||| 19/06/1998 ||||||||||||||||||| non ||||||||||||||| ||||||||||||||||||| ||||

||||||||||||||||||| 324 ||||||||||||||||||| ||||||| 21/07/2005 ||||||||||||||||||| non ||||||||||||||| ||||||||||||||||||| ||||

||||||||||||||||||| 324 ||||||||||||||||||| ||||||| 25/07/2005 ||||||||||||||||||| oui ||||||||||||||| ||||||||||||||||||| |||| 27/07/2005

Dans cet exemple de mon tableau, j'aimerai qu'Excel me dise

  • Il y a eu 5 consultations et non pas 7 (il supprime donc les consultations très rapprochées des n°322 et 324)
  • Sur ces 5 consultations, 3 ont débouché sur une prescription du risque (si un même numéro a deux consultations rapprochées, je veux qu'Excel me supprime la consultation où il n'y a pas eu le risque, pour être sûr de ne pas supprimer par erreur une consultation avec risque comme pour le patient 324. En revanche, si deux consultations rapprochées ont eu le risque, je veux qu'il ne me compte qu'une, pour ne pas faire double comptage comme pour le patient 322)

N'hésitez pas à me demandez d'être plus clair si je ne le suis pas assez, et merci de m'avoir lu

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

Bye !

17stat-v1.xlsm (22.06 Ko)

Bonsoir,

Tout d'abord merci de ton accueil

Cet essai semble marcher à la perfection. Je vais le tester à plus grande échelle (sur 100 patients), puis sur les 100.000 pour voir si cela continue de bien marcher

Penses tu qu'il sera facile d'étendre légèrement la macro, en reportant une colonne d'âge de patient supplémentaire par exemple ?

Merci beaucoup en tout cas pour ton aide, j'apprécie vraiment

Elendir a écrit :

Penses tu qu'il sera facile d'étendre légèrement la macro, en reportant une colonne d'âge de patient supplémentaire par exemple ?

On essaiera.

Mais, en attendant, réfléchi bien à la forme définitive que tu veux donner à ta requête car si on ajoute des colonnes, il faut tout revoir...

Bye !

Méa culpa, je n'avais pas bien regardé : il y a un soucis avec la macro

Autant si elle a bien traité les patients 321, 322 et 323, supprimant là où il fallait, autant si le 324 il y a un soucis

Logiquement, le patient n°324 devrait, après extraction par la macro, me donner 2 consultations

  • une en 1998
  • une en 2005 (car il y a eu 2 consultations à 4 jours d'intervalle)
Or la macro ne m'en a gardé qu'une : celle de 2005

Qu'en penses tu ?

Par ailleurs, comment puis-je modifier la formule de la macro pour mettre un intervalle minimum de 30 jours entre 2 consultations pour qu'elles ne soient pas réduites à une consultation (au lieu de 7 jours)

D'avance merci

edit : 2ème soucis avec la macro : elle supprime bien les consultations multiples, mais elle ne prend pas en compte s'il y a eu ou non prescription du risque. J'ai fais le test avec un patient 326 qui a consulté le 28/10/2015 et le 01/11/2015. Il y avait risque le 28 octobre mais pas le 1er novembre. La macro supprime une des deux consultations (logique car distantes de moins de 7 jours), mais elle me supprime la mauvaise, car elle me garde celle où il n'y a pas eu le risque. Y'a t'il un moyen de régler ce soucis ?

Désolé pour tout ce travail

Si cela peut aider, je joins une partie de mon tableur (les 1000 premiers patients)

La seule "nouveauté" ce sont les colonnes d'âge et de genre, ainsi que celle du 2ème risque (critère secondaire)

Bonne soirée

Nouvelle version à tester.

13stat-v2.xlsm (22.14 Ko)
Elendir a écrit :

comment puis-je modifier la formule de la macro pour mettre un intervalle minimum de 30 jours entre 2 consultations pour qu'elles ne soient pas réduites à une consultation (au lieu de 7 jours)

Il suffit de changer le 7 par 30, dans la cellule F2.

je joins une partie de mon tableur (les 1000 premiers patients)

J’ai regardé ce nouveau fichier que tu as joint. Il diffère sensiblement du précédent.

Es-tu bien sûr qu’il s’agit de la dernière version quant au format : nombre de colonnes, position de la colonne ‘’Date’’ (il n’y en a plus qu’une …) , risque indiqué par des 0 ou des 1 au lieu de ‘’oui’’ et de ‘’non’’…

Et j’espère que celui qui doit servir de critère à l’extraction est le ‘’Risque 1’’ ?

A te relire.

Bye !

Salut,

Encore une fois merci du temps que tu passes à m'aider, j'apprécie vraiment

En fait, mon changement de version de tableau vient du fait que je ne voulais pas rendre ma demande complexe : je t'avais indiqué uniquement les colonnes que je voulais vraiment voir dans la macro

A partir du tableau extrait par la macro, je peux déduire le reste (je maitrise à peu près les formules de base excel comme IF... C'est pas brillant mais ça suffit

Ta nouvelle version a l'air de très bien marcher : je l'ai testé sur mes 150 premières valeurs et elle n'a pas fait la moindre erreur

Comme je ne voulais pas créer une erreur dans la macro, j'ai créé une fonction SI =SI(J139=0;"non";"oui") qui me converti les 0 en non et les 1 en oui

J'ai tenté toutes les combinaisons pour "tromper" ta macro : à chaque fois elle a réussi, je suis vraiment soulagé

Histoire que tu voies mon fichier excel "réel", je te le joins tel qu'il est dans la "réalité"

Mais dans les faits ta macro semble très bien marcher, cela me demande juste de faire des copier/coller d'un fichier à un autre, ainsi que d'utiliser une banale fonction "SI" pour convertir mes valeurs numériques en "oui/non"

Donc les différentes colonnes

A : le numéro de patient

B, C et D : inutiles, ce sont de simples colonnes de codage de la base de données (cela indique le code médecin ou celui du diagnostic)

E : le genre du patient

F : l'âge du patient

G : nouveau diagnostic ou déjà vu (sans intérêt ici)

H : pas d'intérêt, c'est juste une vérif de la base pour être sûr que je n'inclue pas une autre maladie

I : Date du diagnostic ("date de la consultation" dans la macro)

J : colonne ou "0" veut dire pas de risque et "1" veut dire risque (que j'ai converti en oui/non avec la fonction SI dans la colonne N)

K : Durée du risque (sans intérêt car trop peu renseigné dans la base)

L : même principe que la J concernant le risque 2. Dans les faits son importance est secondaire. Plutôt que de complexifier la macro, je ferai un simple copier coller de la colonne risque 2 sur celle du risque 1 quand je voudrai étudier ce critère secondaire

m : durée du risque 2 (là aussi inutile car trop peu renseigné)

Voilà tu sais tout, et mon tableau que je te mets en pièce jointe est le "définitif"

Si tu as le temps et l'envie (et uniquement dans ce cas), pour qu'elle fonctionne directement via mon "vrai" tableau, hésite pas, mais tu m'as déjà tellement rendu service, vraiment merci !

PS : penses tu qu'il est faisable que la macro considère le risque 1 et le 2 ou bien est-ce impossible/trop compliqué à tes yeux ? J'aurai juste besoin que la macro me reporte à côté de la colonne "présence du risque" une colonne "présence du risque 2 ?"

Donc dans l'idéal absolu, j'aurai besoin que la macro reporte aussi les colonnes d'âge, de genre et de risque 2, mais sans calcul supplémentaire, juste reporter les informations

Bonne journée

Bonjour

Nouvelle version à tester.

Inutile de t’ennuyer avec la formule qui transforme les 1 et 0 en oui et non : la macro te le donne dans le résultat.

Et n’oublie pas : tu ne dois pas supprimer ou déplacer des colonnes. Mais, tu peux les masquer si elles ne te servent à rien.

OK ?

Bye !

Salut !

Le tableau tel quel m'a l'air parfait

En revanche Excel m'indique que le dossier contient plusieurs liaisons ne pouvant être mises à jour

Quand je regarde sur "modifier les liaisons", il m'indique un chemin vers ton pc donc forcément ça marche pas

Du coup j'ai essayé de lui indiquer le bon chemin mais il n'y arrive pas

Comment lui dire que c'est le doc excel de mon bureau et non le tien qu'il faut exploiter ?

Quand je fais "modifier les liaisons" il me propose "mettre à jour les valeurs", "modifier la source", ouvrir la source ou encore rompre les liaisons.

Bref, désolé de cette nouvelle question mais je bloque encore une fois

Par contre la macro semble avoir parfaitement marché quand je vois ton tableau extrait

Elendir a écrit :

Comment lui dire que c'est le doc excel de mon bureau et non le tien qu'il faut exploiter ?

Voilà qui est curieux. Ce fichier ne contient aucune formule.

S'il y a une liaison, elle ne peut venir que du bouton bleu ''Extraire" que j’ai en effet copier d’une autre version.

Essaie cette manip :

1 – Clic droit sur le bouton bleu

2 – Cliquer sur ‘’Choisir une macro…’’ Une fenêtre s’ouvre.

3 – Cliquer sur ‘’Extr‘’

4 – Cliquer sur ‘’OK’’

5 – Enregistre le fichier

Et dis-moi le résultat…

Bye !

Salut,

J'ai fais ta manip mais malheureusement rien n'y a fait

Quand je supprime les données du tableau de droite et que je re-clique sur "extraire" Excel semble reflechir 1 seconde puis il ne se passe rien

Bonne soirée

Pour info, quand j'ouvre ton doc et que j'active les macro, j'ai deux messages qui apparait

  • le classique qui m’avertit de la dangerosité des macros
  • Un juste en dessous dans la même boite de dialogue qui me dit que "la mise à jour des liens a été désactivée"
Quand je clique sur "activer" il me dit "ce classeur contient une ou plusieurs liaisons ne pouvant être mises à jour"

Quand je clique sur "modifier les liaisons" il me dit que la source est stat v2.xslm et erreur source introuvable

En dessous j'ai "emplacement" avec C/Users/ ton nom et prénom et ensuite un emplacement

Le soucis vient peut être de là ?

Elendir a écrit :

J'ai fais ta manip mais malheureusement rien n'y a fait

Bon alors, j'ai tout repris sur un fichier neuf et j'ai récupéré ce que j'ai pu en faisant des "copier-collage spécial".

Ce sont mes dernières cartouches : si le problème persiste je ne saurai plus que faire.

En revanche, teste bien car en réadaptant, j'ai pu commettre quelque erreur ou omission...

Bye !

3extraction-v2.xlsm (161.42 Ko)

Çà marche parfaitement cette fois ci

Je la testerai en détail ce week end, mais à priori c'est bon puisqu'elle me trouve le même nombre de consultations pour les 1000 premiers patients que ta précédente macro (la stat v2)

Les derniers ajustements à faire, je pourrai les faire sans difficultés avec des fonctions, donc tu m'as totalement solutionné mon soucis

Encore merci, je te tiens au courant d'ici ce week end pour confirmer ça

Juste pour te confirmer : ce que tu as fais est parfait : j'ai pu extraire tout mon tableau sans difficultés

Encore merci

Rechercher des sujets similaires à "faisabilite statistiques via"