IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Automatisation d'une tache de lecture de fichiers txt puis écriture dans excel


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Automatisation d'une tache de lecture de fichiers txt puis écriture dans excel
    Bonjour, je connais rien à la programmation mais je me dis que me lancer ne serait pas mal!

    je suis étudiant en biologie, et j'aurais besoin d'un gros coup de pouce :

    J'utilise un appareillage d'analyse qui me produit des rapports d'analyse

    j'aimerais automatiser la lecture de ce type de rapport puis son intégration dans excel, afin d'ensuite réaliser des calculs dans excel (qui eux aussi pourraient être automatisé ensuite, ce serait à voir dans un deuxième temps)

    en ce qui concerne les fichier de rapports :
    on a une organisation comme ceci :

    pour chaque analyse, un dossier est crée et dans ce dossier, je trouve le fichier rapport.txt sous cette forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    Batch Run # 9 of 40
    Data File C:\CHEM32\1\DATA\RZ 10-20 2011-03-10 15-45-36\SIG1000013.D
    Sample Name: C2
    Instrument 1 11/03/2011 11:28:48  
     
    =====================================================================
    Acq. Operator   : RENE                           Seq. Line :  13
    Acq. Instrument : Instrument 1                    Location : Vial 13
    Injection Date  : 10/03/2011 07:04:40                  Inj :   1
                                                    Inj Volume : 1 µl
    Acq. Method     : C:\Chem32\1\DATA\JJB\RZ 10-20 2011-03-10 15-45-36\RZ FAMES.M
    Last changed    : 14/02/2011 07:44:20  by Claire
    Analysis Method : C:\CHEM32\1\METHODS\LF2.M
    Last changed    : 11/03/2011 11:13:15 
    =====================================================================
                             Area Percent Report                         
    =====================================================================
     
    Sorted By             :      Signal
    Multiplier            :      1.0000
    Dilution              :      1.0000
    Use Multiplier & Dilution Factor with ISTDs
     
     
    Signal 1: FID1 A, Front Signal
     
    Peak RetTime Type  Width     Area      Height     Area  
      #   [min]        [min]   [pA*s]      [pA]         %
    ----|-------|----|-------|----------|----------|--------|
       1   3.505 BB    0.0491  806.85657  260.73309  5.47135
       2   3.683 BB    0.0581   34.59731    8.74691  0.23461
       3   4.271 BB    0.0573 2630.44409  726.19055 17.83724
       4   5.153 BV    0.0698  402.81317   90.78178  2.73151
       5   5.336 VB    0.0751 1749.82727  364.13791 11.86571
       6   5.780 BB    0.0713 3307.15698  723.42102 22.42607
       7   6.433 BB    0.0730 2319.65869  483.20779 15.72978
       8   7.305 BV    0.0794  264.77740   51.10927  1.79548
       9   7.502 VB    0.0766 2639.53589  499.58737 17.89889
      10   7.920 BB    0.0643  244.70880   59.09523  1.65939
      11   8.461 BB    0.0688   65.16162   14.68499  0.44187
      12   9.197 BV    0.0778   38.39365    7.13300  0.26035
      13   9.408 VB    0.0929  242.99591   40.01165  1.64777
    Totals :                  1.47469e4  3328.84057
     
    =====================================================================
                              *** End of Report ***
    Le but serait de créer un fichier excel, dans le répertoire :
    C:\CHEM32\1\DATA\RZ 10-20 2011-03-10 15-45-36\
    qui contient le répertoire
    SIG1000013.D contenant un rapport, mais aussi les répertoires
    SIG1000012.D et SIG1000014.D etc...

    Je cherche à extraire les donnée suivantes :
    le nom de l'échantillon :
    C2

    et les données correspondantes aux colonnes :
    RetTime
    Area
    Area %

    Ces colonnes peuvent contenir un nombre de ligne différent pour chaque analyse

    Je voudrais donc générer un fichier excel (ou alors à partir d'un fichier excel, créer une macro qui irait chercher toutes ces données), qui contient pour chaque analyse, une feuille qui aurait pour titre le nom de l'échantillon, et ensuite les 3 colonnes, et les valeurs correspondantes.

    J'ai pour cela plusieurs questions :
    A votre avis, est ce qu'il vaut mieux créer une macro directement avec excel, ou plutôt créer un script d'extraction des données et de génération d'un fichier excel correspondant ?
    Sachant que :
    Il faudrait explorer pour ce dossier général, dans chaque sous dossier afin de trouver le fichier texte, et si il y en a un le traiter.
    En gros, j'ai 100 fichier rapport par analyse.


    je pense que l'on peut développer en 2 temps qui peuvent être plus ou moins indépendantes :
    1 explorer les dossiers et trouver le fichier Rapport.txt si il y en a un dans le sous dossier exploré
    2 extraire les données du fichier

    Merci de me présenter votre avis, et si vous avez une idée de quoi utiliser...

  2. #2
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    100 Fichier par analyse

    Le problème c'est que le VBA est lent et à ses limites ça risque de mettre une plombe à être exécuté et peut éventuellement planté.


    Je te conseillerais donc de passer par un script compilé en C++ ou autre (ce que tu gères le mieux en fait) pour extraire les données qui t'interresse et ensuite de retravailler ces données avec excel...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Ok, merci de ta réponse !

    Et oui, c'est variable, mais 100 analyses arrivent vite en faite ! (étant donné qu'on doit faire des répétitions biologiques, sur 30 à 40 échantillons, ça arrive vite!)

    En tout cas, je vais me tourner vers une autre partie du forum !

    Enfin, si des idées arrivent, je repasserais !

    Merci encore

Discussions similaires

  1. [Oracle] Découpage d'un fichier .txt puis insertion dans base mysql
    Par laetiheu dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 20/08/2016, 12h52
  2. Lecture de tables access et écriture dans excel
    Par frabey dans le forum VBA Access
    Réponses: 6
    Dernier message: 01/07/2014, 16h16
  3. automatisation d'une tache
    Par jexcelle dans le forum Word
    Réponses: 1
    Dernier message: 05/08/2012, 20h24
  4. Réponses: 2
    Dernier message: 14/03/2011, 09h33
  5. automatisation d'une tache
    Par jj2000 dans le forum Apache
    Réponses: 1
    Dernier message: 19/06/2007, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo