Exporter données Excel par le bias d'une macro

P

Piquemal

Guest
Re-bonjour,

Je reviens avec ma question mal posée d’il y a 2 jours.

Je travaille dans un labo de recherche sur la fac de Montpellier. Nous utilisons une technique (les puces à ADN) qui génèrent beaucoup de données et qui demandent des outils d’analyses puissants (à en croire les prix de vente) et surtout un stockage des données hyper rigoureux.
N’étant pas informaticien, je me suis quand même lancé pour notre petit labo, dans la construction d’une plate-forme sous Excel: elle possède une interface graphique des plus simples mais des plus pratiques: entre autre, en 1 click, on appelle un fichier Excel: c’est un fichier modèle que j’ai créé, que les chercheurs remplissent suivant un protocole établi. Quand l’analyse est terminée, le fichier Excel modèle étant protégé, le nouveau fichier s’enregistre sous un nouveau nom (incrémentation basique NOM_n+1) dans un fichier bien spécifique sur mon ordi. Avant d’aller plus loin, il faut savoir que sur ma feuille Excel n (ex-feuille modèle), le résultat final est toujours sur la même colonne (AY) et le même nombre de ligne (AY2:AY769) de l’onglet 1 (feuil1!), dans un dossier bien défini (C:\puce\final_data\).

ET TOUT CA "à cause" de vous et de votre forum, je tiens à le signaler! il y a deux mois je savais à peine transformer mon Excel en calculatrice =somme(A1:B1) …

Bref, derrière mon interface Excel, sous des noms et emplacement bien définis, s’accumulent les résultats de nos puces à ADN (de nos manips). Mais voici venu le temps de l’analyse comparée de certaines manips! Je voudrais créer une macro qui me permettent de spécifier les fichiers qui m’intéressent, d’en extraire les données de AY2 à AY769, et de les afficher sur une nouvelle feuille Excel vierge.

Exemple: j’ai 30 fichiers, de NOM_1 à NOM_30 dans mon dossier C:\puce\final_data\.
Par une macro, je désire, par exemple, appeler et rapatrier (sans les ouvrir) les données des fichiers NOM_5, NOM_6 et NOM_23.
Donc suite à un click sur ma macro, une fenêtre s’ouvre et je taperais «5,6,23» (hypothèse).
Alors sur une feuille vierge apparaîtrait ainsi:

NOM_5 NOM_6 NOM_23
1 data data data
2 data data data
3 data data data
4 data data data
… … … …
768 data data data


Si cela ressemble à une fiction, n’hésitez pas à me le dire … merci encore pour votre forum MAIS je reviendrai !!

Amitiés
David
 
M

Michel_M

Guest
Bonjour ou bonsoir suivant l'heure


Ton pb est intéressant: le boulot a bien avancé mais est non présentable (état de brouillon);je pense pouvoir te proposer une solution pour ce week-end (bcp de boulot en ce moment).

Pourrais tu me dire le nom générique des données saisies par tes chercheurs (nom_) et quel est le type de données dans les colonnes AY
(nombre réels, texte, les deux?)

A+
Michel. Béziers (entre voisins, faut s'entraider...)
 
P

Piquemal

Guest
Merci beaucoup pour ton aide par avance.

Le dossier où s’enregistre mes fichiers expériences est \zebulon\exper\SK_FD\ . Les fichiers s’appellent SK_1, SK_2 … SK_n .
Dans chacun de ces fichiers, les données se trouvent sur la colonne BD, des lignes BD3 à BD386 (voir mon fichier Excel modèle).
Donc, la macro devrait me demander le numéro des fichiers qui m’intéressent et me les projeter sur une feuille Excel vierge.
Je te remercie pour tout - bon courage.
David
 
M

Michel_M

Guest
Bonjour David, Bonjour le forum


Ci joint "home_puce.xls" à installer dans le dossier-répertoire des fichiers SK_


En appuyant sur le bouton, une boite de dialogue s'affiche et montre tous les fichiers SK_ du répertoire.
Effectuer la sélection des fichiers (maintenir la touche Ctrl enfoncée) puis cliquer sur "allez"

Un nouveau classeur est créé et nommé "groupe "SK3 SK4 SK(p+q+1).xls" (nom des fichiers sélectionnés dans la boite)
et les valeurs BD3 à BD386 des classeurs SK_ y sont reportées

A part ça, ce serait sympa d'expliquer d'une façon TRES vulgarisée ,ce que sont les puces à ADN

Amicalement

Michel
 

Pièces jointes

  • home_puce.zip
    17.3 KB · Affichages: 61
  • home_puce.zip
    17.3 KB · Affichages: 68
  • home_puce.zip
    17.3 KB · Affichages: 57
D

David

Guest
Michel,

Merci pour tout ... je travaillerai demaim sur tes fichiers et je te tiens au courant.
Sinon, une puce a ADN ??? ou microarray ... je te renvoi un mail explicatif demain : je veux prendre le temps de bien te repondre
Amities

david
 
D

David

Guest
Michel,


Je travaille sur les leucémie, dit également " cancer du sang ". Je vais tenter de t'expliquer avec des mots simples, de vulgariser. Si tu pouvais à ton tour le faire car mon ignorance est telle que quant j'ai regarder la macro que tu m'avais écrite, je n'ai vu que 3 lignes ... et je pense pas qu'elle réside en si peu de lignes ....

Le développement normal de l'organisme dépend de l'expression concertée de dizaines de milliers de gènes qui forment son génome (nous, Homme, en possédons 30.000). Certains de ces gènes contrôlent directement la multiplication (prolifération) des cellules. Si des accidents chromosomiques dérèglent leur expression, la prolifération des cellules devient anarchique, entraînant l'apparition de cancers.

Cependant, on sait que les mécanismes régulateurs propres à chaque cellule sont complexes et multiples, et que tous ne sont pas lésés en même temps. En laboratoire, nous parvenons à rétablir un développement normal de cellules sanguines en stimulant les gènes encore fonctionnels, notamment avec des molécules (dérivés de vitamines A et D). Pour progresser dans ce domaine, il faudrait pouvoir identifier l'ensemble de gènes qui, s'exprimant dans une cellule donnée, lui confère ses particularités.

La puce à ADN est une nouvelle méthode qui permet d'analyser simultanément plusieurs centaines ou milliers de gènes. Par analogie avec les puces informatiques, les biopuces sont des petits supports physiques (verre ou nylon) sur lesquels est fixé un très grand nombre de séquences d'ADN. Imagine une grille (array) où à chaque croisement, tu as un gène synthétique qui est déposé, comme une toile d'araignée ... si un gène est reconnu, il est piégé !!

Avec cet outil, nous recherchons simplement les circuits régulateurs qui peuvent encore être stimulés pour rétablir le contrôle de la prolifération cellulaire. Tu peux aisément comparer le circuit électrique de ta voiture : les phares ne marchent plus alors nous passons par d'autres fils !!


amities
David


PS: je suis en deplacement et n ai pas encore pu utiliser ton prog ... je te tiens au courant
PS2: si tu as des trous dans mes commemtaires, n hesite pas a le dire
 
D

David

Guest
Michel,

scuzi ... une question ... je suis sur une autre ordi - je suis en deplacement- et je veux changer mon chemin ("home_puce.xls" à installer dans le dossier-répertoire des fichiers SK_) ... comment je peut faire ... je n arrive pas a lire plus des 3 lignes de ta macro ....? Je pense egalement que je dois comprendre ou aller bidouiller, car le jour ou ma puce a des genes en plus, donc des lignes en plus, il faudra que j aille chercher l info de BD3 à BD ...1000.
A tout a l heure
David
 
M

Michel_M

Guest
Bonjour,

Home_puce.xls est à installer dans le répertoire des SK

Lorque tu lances la macro, je détecte dans quel répertoire home_puces est situé; donc en admettant qu'il y ait des classeurs commencant par hasard par SK_ ;home_puce va les détecter => plus tard, tu pourras donc changer ton ensemble home-puce, SK_1 à N, groupements dans un autre répertoire ou ordi ca marchera.

En ce qui concerne BD 3 à BD nnnnn (voire 65536), il y a un petit aménagement à faire dans la macro que je te transmettrai.

Pour voir autre chose que les 3 lignes, si cela n'est pas fait (car il n'y a qu'une fenetre dans VBA), il faut installer l'explorateur de projets

Pour cela, lorsque tu es dans l'éditeur VBE (pat Alt+F11 par exemple) tu exécutes la commande Affichage |explorateur de projets

Tu vas dans "feuille" et dans "comparer" tu fais un clic droit et tu sélectionnes "code" et tu verras les macros.


Merci pour ton topo sur les puces_adn, je suis au boulot et je l'ai lu rapidement, je verrai ce soir tranquillement (mais c'est passionnant à la 1° lecture)

Amicalement
Michel
 
M

Michel_M

Guest
Bonjour David et le Forum,

Merci beaucoup pour ton topo sur les puces ADN: C e travail m'est apparu comme un gigantesque travail de fourmi mais particulièrement passionnant par sa finalité humaine.

Y contribuer pour un tout petit coup de pouce solidaire m'honore et me motive également, d'autant plus, qu'au delà de toutes convictions politiques; assister, impuissant, depuis quelques années à l'abandon de la Recherche par la Collectivité m'attriste et m'inquiète pour le futur…


Pour revenir à Home_puce:

Ci-joint la version 3.

1: Elle est commentée et modifiée pour une meilleure (ou moins mauvaise !)compréhension

2: Le nombre de données dans la colonne BD n'est plus fixe et est calculé à chaque macro.
Il serait intéressant que tu me dises quel le type de données: sans précisions chaque index mange 16 octets de mémoire. Et vu le nbre de données à transfèrer….
Type Single (4 octets):
Valeur à virgule flottante simple précision +/- 3,402823E38 à 1,401298E45
Type Double (8 octets)
Valeur à virgule flottante double précision +/6 4,9406564584124E-324 à 1,797,69313486232E3088

Dans le zip, j'ai ajouté quelques vrais-faux classeurs SK pour faire des essais (home_puce doit être dans le m^me dossier-répertoire que les SK_ mais le chemin est indifférent…)

A+
Michel
 

Pièces jointes

  • puce_data3.zip
    46.4 KB · Affichages: 70
P

Piquemal

Guest
Pour ceux qui suivent nos discussions ...
---------------------------------------------------------

Michel,

Je suis desolé d’autant de retard dans nos correspondance, mais j’enseigne pour tout la semaine à l’Université franco-libanaise de Beyrouth … des histoire de transfert de techno entre pays riche et moins riche … ma petite contribution à moi ….
Donc, hier, je suis rentré avec grand plaisir dans ta macro et j’ai « presque » tout compris … comme tu sépares les action par des petite phrase, tu, toi aussi, vulgarise tes connaissances.

Donc sur la version II de « home-puce », le programme marche super mais j’ai du corrigé é petites erreurs qui venaient simplement du fait que je t’avais mal énoncé mon problème …

Le nom des fichiers expérimentaux est SKn_FD.xls (et non SKn.xls) … donc j’ai corrigé le tir par :

' force dans le répertoire actif
chemin = ActiveWorkbook.Path
ChDir chemin

'initialisation SK_ : nom générique du modèle de saisies
fich = "SK"
' trouve le 1° fichier du répertoire cpommencant par la valeur de fich
essai = Dir(fich & "*_FD.xls")
cptr = 2

Puis, la feuille de ces fichiers s’appelle « Puce » (et non « feuil1 ») …

'ouvre le fichier source sélectionné
On Error Resume Next
Workbooks.Open Filename:=chemin & "\" & fich
On Error GoTo 0
Sheets("Puce").Activate
'collationne les données
cptr = 0
While cptr <= 383

… bref tout ça pour te dire que j’avais suivi mais j’ai pas pu te joindre hier … je te renvoie tout de même cela sachant que je vient de découvrir ce matin la version 3 … que j’ai illico tester et qui semble répondre à une de mes questions … pour chacun des fichiers « SKn_FD » ouvert pour en extraire les données, il me demandait en refermant si je voulais enregistrer …. Là, plus rien donc super … SAUF tu m’as sacrément chamboulé ta macro et que je commence à nager dedans DONC je n’ai pas pu faire les 2 modifs que j’avais fait au-dessus !!!

Enfin, je vais te casser une dernière fois les pieds … pourrais tu faire apparaître sur les 2 premières colonnes de la nouvelle feuille Excel que tu crées, les noms des gènes, que tu trouveras en colonne 52 et 53 (nom officiel et numéro d’immatriculation) … bien sur opération à ne faire qu’une seule fois même si j’extrais les datas de plusieurs fichiers.

Merci beaucoup et à très bientôt

Amitiés – David

________________________________________
Michel,

Je suis enfin de retour dans mon labo ... avec du super débit !!!

Je te réponds donc à ton dernier message...

"Il serait intéressant que tu me dises quel le type de données: sans précisions chaque index mange 16 octets de mémoire. Et vu le nbre de données à transfèrer…."

exemple de résultats entre 0 et ... 10.000 avec que du + et 2 chiffre après la virgule ...



Amitiés Michel et au Forum - David
 
M

Michel_M

Guest
Salut David,

Le prog est fini: je m'accorde un moment demain matin (je ne bosse pas) pour faire encore quelques vérifs et te faire un topo /word joint dans le zip

C'est aussi pour rester dans les 300 réponses (je ne sais pas comment faire en cas de "vieux" messages

A+
Michel
 

Discussions similaires

Réponses
3
Affichages
283
M
Réponses
9
Affichages
468
Maikales
M

Statistiques des forums

Discussions
312 111
Messages
2 085 399
Membres
102 882
dernier inscrit
Sultan94