Demande de macro excel

Fermé
Julien - Modifié par Julien le 27/01/2012 à 18:14
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 - 7 févr. 2012 à 22:13
Bonjour,
J'aurai besoin de votre aide pour la programmation d'un macro pour Excel:
J'ai une feuille de donnée en plusieurs lignes et colonnes (5colonnes et en moyennes 800 000 lignes) correspondant à des enregistrements médicaux.
A: temps / B: Réponse électrodermal / C : interval R-R du rythme cardiaque / D : stimulation / E : marqueur d'évènement
.
Je dois reprendre les données à partir des 150 marqueurs d'évènement, ayant pour ligne de base les données avant ce marqueur.
.
En gros, sous excel, je dois repérer les marqueurs nommés "#* trigger" dans la colonne E, faire la moyenne des 600s lignes précédentes de la colonne C (par exemple, si mon trigger est en E1000, je dois faire la moyenne des donnée entre C399 et C999), et la liste de donnée comprise entre C1000 et C2000. Le tout étant présenté dans une autre feuille avec une ligne par stimulation de la façon suivante : A : note / B : moyenne / C----ZZZ : données après soustraction.
.
Je tente depuis le début d'année à apprendre le coding d'une macro, mais je n'arrive toujours pas à créer celle-ci...
.
De grâce, j'implore votre aide. (J'ai 40 tableur excel de ce genre, et ce préprocessing me prend environ 4jours par feuille...)
.
Merci d'avance !
.


A voir également:

6 réponses

Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
29 janv. 2012 à 15:30
Bonjour,
Je dois avouer que je n'ai pas tout compris mais ça semble faisable.
J'ai quelques questions concernant le travail que la macro doit effectuer :
1- Repérer la position des marqueurs : est-ce que * correspond à n'importe quel caractère comme dans une recherche classique ou est-ce qu'il s'agit vraiment d'un astérisque ?
2- Est-ce qu'il faut faire la moyenne des 600 lignes précédentes ou des lignes comprises entre le trigger n et le trigger n-1 ?
3- et la liste de donnée comprise entre C1000 et C2000 : il faut donc faire la moyennes des 600 données précédentes et des 1000 suivante ?
4- Le tout étant présenté dans une autre feuille avec une ligne par stimulation de la façon suivante : A : note / B : moyenne / C----ZZZ : données après soustraction. : la je n'ai rien compris, que faut-il faire avec ces données.

Le mieux serait de donner un exemple des données que tu as au départ et du résultat que tu attends.

@+
0
1- le marqueur se nomme "#* trigger", l'astérisque est bien une astérisque. Si ce caractère est génant, il peut être changer par un 3 pour donner "#3 trigger"
2- la moyenne des 600lignes précédentes
3- pour les 1000 lignes suivantes, ce n'est plus une moyenne : par exemple, si le trigger est en E1000, il faut que sur la feuille 2 : C1(feuille2)=C1000(feuille1)-Moyenne(C399:C999), D1(feuille2)=C1001(feuille1)-Moyenne(C399-999) ; etc...
etc... jusque C150 (une ligne/marqueur)

en gros la feuille1 présente les données brute, la feuille 2 quelque chose comme:
A1: p24n (le nom du marqueur à ajouter à la main) / B1: Moyenne(C399:C999), C1=donnée traité de C1000 / D1= donnée traité de C1001 / E1 = donnée traité de C1002 ...
S'il est plus facile de mettre les lignes en colonnes, (avec A1 marqueur, A2 moyenne etc...) ça va aussi.
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
Modifié par Gord21 le 30/01/2012 à 20:39
Bonsoir,
Sur quelle version d'Excel ?
Sinon, juste pour être sûr, je fais la moyenne sur les 600 lignes précédentes (donc C400 à C999) ?
Veux-tu une fenêtre qui t'invite à donner le nom du marqueur à mettre dans A1 (p24n dans ton exemple) ?

Merci
@+
0
J'utilise la version 2007 d'excel
Pour le marqueur, j'ai une colonne toute prête pour chaque enregistrement me donnant la liste en colonne des stimulations, je n'ai donc qu'à copier coller la liste de 140marqueurs et la filtré par la suite, donc ce n'est pas nécessaire, mais merci pour la proposition
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
30 janv. 2012 à 22:57
Bonsoir,
Voici une première proposition :
https://www.cjoint.com/?BAEw45kJbCE

@+
0
Ce fichier a l'air de marcher à la perfection ! De plus, bravo pour la clareté du codage !
Les travaux que j'effectue visant la publication dans un journal scientifique, j'aurai plaisir à y inclure votre nom en remerciement (vous pouvez si vous le souhaitez me l'envoyer par mail)
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
31 janv. 2012 à 13:05
Je n'ai pas encore essayé ce fichier sous Excel 2007. Tu as dû le remarquer, je ne calcule l'écart à la moyenne que pour 100 valeurs (au lieu des 1000 demandées) car je suis limité à 256 colonnes sous Excel 2003.
Je ne recherche le trigger qu'à partir de la 601ième, ceux qui sont avant sont ignorés (sinon je ne peux pas faire la moyenne sur les 600 valeurs précédentes).
Dans mon exemple, la macro est liée au classeur. Il est possible de faire une macro complémentaire qui te permettrait de traiter n'importe quel classeur et/ou n'importe quelle feuille.

N'hésite pas.
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
La macro fonctionne parfaitement, et encore mille merci.
J'aurai aimé ajouter quelque chose à celle-ci, est-ce qu'il serait possible de modifier le traitement des données de la façon suivante:
au lieu de "=Valeur-moyenne" de faire "=(valeur-moyenne)/écart-type des 600valeurs" ?
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
2 févr. 2012 à 17:45
Bonjour,
Oui c'est possible. Pour les 600 valeurs, tu parles bien de C400 à C999 et non de C399 à C999 ?
@+
0
Pour les mêmes que celles utilisées pour établir la moyenne
0
Soit C399 à C999 donc
0
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 289
7 févr. 2012 à 22:13
Bonsoir,
Voici une seconde proposition avec le calcul du ratio par rapport à l'écart type sur les 601 valeurs précédentes.
https://www.cjoint.com/?BBhwlsT8jYN

@+
0