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 :

Charger des donnés depuis un fichier .txt


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Charger des donnés depuis un fichier .txt
    Bonjours à tous

    Voila mon soucie:
    Mon travail actuellement est de réaliser un routine qui puisse aller récupérer des infos dans un fichier au format *.txt (généré par un autre logiciel) sans charger le fichier dans execl (fichier trop gros).
    j'aimerai donc que l'on me donne (si possible) les fonction permettant de charger dans un variable les éléments désirer depuis un fichier txt.

    le fichier txt est de la forme suivante

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
     
    $TITLE   = NX NASTRAN STATIC ANALYSIS SET                                      1
    $SUBTITLE= 5,4G UWD                                                            2
    $LABEL   =                                                                     3
    $SPCF                                                                          4
    $REAL OUTPUT                                                                   5
    $SUBCASE ID =           1                                                      6
             1       G     -9.139905E+00      6.904522E+01     -2.093224E+03       7
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00       8
             2       G     -2.711373E+02      1.931295E+02     -2.885030E+03       9
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      10
             3       G     -3.527461E+02      1.784156E+01     -5.623540E+02      11
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      12
             4       G     -2.358710E+02     -2.369611E+02     -1.347328E+03      13
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      14
             5       G      5.315911E+02      0.000000E+00      0.000000E+00      15
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      16
             6       G      3.373032E+02     -4.305523E+01     -1.983654E+01      17
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      18
            21       G      3.782254E+02     -5.498864E+02     -4.154161E+03      19
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      20
            22       G     -3.329382E+02     -2.799396E+02      0.000000E+00      21
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      22
            23       G      1.136550E+02      1.171806E+02      0.000000E+00      23
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      24
            24       G     -7.260596E+01      2.912323E+02      0.000000E+00      25
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      26
            25       G      1.080118E+02      4.279382E+02     -2.782424E+03      27
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      28
            26       G     -7.506267E+00     -7.165909E-01      1.740864E+00      29
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      30
            27       G      2.193777E+01      0.000000E+00      0.000000E+00      31
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      32
            28       G     -1.444761E+02     -8.906825E+00      4.104642E+00      33
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      34
            29       G     -6.430341E+01      3.098239E+00      1.427441E+00      35
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      36
            41       G     -2.261933E+02      3.534955E+02     -1.406467E+03      37
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      38
            42       G     -1.552025E+03     -2.751145E+02     -7.182606E+03      39
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      40
            43       G      1.291296E+02      2.628525E+02     -1.250523E+03      41
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      42
            44       G      8.351477E+02     -3.473876E+02     -8.989839E+03      43
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      44
            45       G      5.793293E+02      2.313825E-01     -1.309712E-01      45
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      46
            46       G      2.346118E+02      5.922696E+00     -2.684050E+01      47
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      48
    $TITLE   = NX NASTRAN STATIC ANALYSIS SET                                     49
    $SUBTITLE= 9G FWD                                                             50
    $LABEL   =                                                                    51
    $SPCF                                                                         52
    $REAL OUTPUT                                                                  53
    $SUBCASE ID =           2                                                     54
             1       G     -1.688538E+03     -7.905795E+02      1.901408E+03      55
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      56
             2       G     -2.239162E+03      9.181408E+02     -2.737919E+03      57
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      58
             3       G     -9.844182E+02     -3.236518E+02      1.107253E+03      59
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      60
             4       G     -1.335930E+03      1.118312E+01     -3.559328E+02      61
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      62
             5       G     -3.816306E+03      0.000000E+00      0.000000E+00      63
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      64
             6       G     -1.448601E+03      1.849073E+02      8.519111E+01      65
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      66
            21       G     -8.812055E+02     -6.950667E+02     -2.740090E+02      67
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      68
            22       G     -1.614686E+03     -5.949654E+02      0.000000E+00      69
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      70
            23       G     -1.707277E+03      1.437971E+03      0.000000E+00      71
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      72
            24       G     -8.613350E+02      1.148337E+03      0.000000E+00      73
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      74
            25       G     -7.138115E+02     -9.561930E+02     -4.840894E+02      75
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      76
            26       G     -3.116336E+03     -2.975032E+02      7.227451E+02      77
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      78
            27       G     -1.332370E+03      0.000000E+00      0.000000E+00      79
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      80
            28       G     -9.675672E+02     -5.964967E+01      2.748909E+01      81
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      82
            29       G     -3.542635E+02      1.706897E+01      7.864127E+00      83
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      84
            41       G     -6.039561E+03     -1.299364E+03      9.031304E+03      85
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      86
            42       G     -5.943315E+03      3.242488E+03     -5.024329E+03      87
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      88
            43       G     -1.799165E+03     -1.416272E+03     -8.671328E+03      89
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      90
            44       G     -6.743162E+03     -4.772184E+02      4.453806E+03      91
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      92
            45       G     -9.079697E+03     -3.626405E+00      2.052682E+00      93
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      94
            46       G     -1.822446E+03     -4.600703E+01      2.084949E+02      95
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00      96
    $TITLE   = NX NASTRAN STATIC ANALYSIS SET                                     97
    $SUBTITLE= -2.4G SWD                                                          98
    $LABEL   =                                                                    99
    $SPCF                                                                        100
    $REAL OUTPUT                                                                 101
    $SUBCASE ID =           3                                                    102
             1       G      5.750687E+01      6.806415E+02      1.888980E+03     103
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     104
             2       G      4.581821E+02      4.903943E+02      9.129130E+03     105
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     106
             3       G     -3.110507E+02      7.453119E+02     -1.278569E+03     107
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     108
             4       G     -4.190768E+02      1.092575E+03     -9.767737E+03     109
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     110
             5       G      6.938820E+02      0.000000E+00      0.000000E+00     111
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     112
             6       G     -4.794436E+02      6.119880E+01      2.819571E+01     113
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     114
            21       G     -1.568963E+02      6.626935E+02      1.069798E+03     115
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     116
            22       G     -1.678514E+01      8.166874E+02      0.000000E+00     117
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     118
            23       G      1.612026E+02      7.986789E+02      0.000000E+00     119
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     120
            24       G     -5.711943E+01      3.420972E+02      0.000000E+00     121
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     122
            25       G      6.963240E+01      4.555136E+02     -1.068383E+03     123
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     124
            26       G      5.065799E+00      4.836100E-01     -1.174867E+00     125
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     126
            27       G     -6.715522E+00      0.000000E+00      0.000000E+00     127
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     128
            28       G      3.294053E+01      2.030755E+00     -9.358578E-01     129
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     130
            29       G     -3.132489E+01      1.509282E+00      6.953663E-01     131
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     132
            41       G      1.302132E+03      2.573365E+03      7.266988E+03     133
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     134
            42       G     -1.414418E+03      1.683370E+03     -7.328225E+03     135
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     136
            43       G     -6.190877E+02      1.934473E+03      6.703193E+03     137
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     138
            44       G      7.676631E+02      2.187997E+03     -6.635374E+03     139
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     140
            45       G     -9.401708E+01     -3.755016E-02      2.125480E-02     141
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     142
            46       G      5.772779E+01      1.457319E+00     -6.604282E+00     143
    -CONT-                  0.000000E+00      0.000000E+00      0.000000E+00     144
    D'avance Merci de vos réponses

  2. #2
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Bonjour,
    Sous 2003 tu fait menue Donnée/Donnée externe:importer des donnée
    Tu choisies tes options
    Bien sur une fois que tu sais bien ce que tu veux faire tu utilise l'enregistreur de macro pour savoir quel est le code corespondant.

    Par contre pour ce qui est de l'importation de donnée Nastran, je préfère les lire ligne par ligne et faire du traitement de chaine de caractère pour récupérer uniquement les donnée qui m'intéresse (le bon cas de charge et pas forcément toutes les composantes des contraintes,...)

    Deux tutos pour cette méthode
    Manipuler les chaînes de caractères en VB6 et VBA Exce

    Je ne retrouve plus le deuxième lien voici un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    dim fichier as string, ligne as string
    dim x as integer
        Fichier = "C:\monFichier.txt" 
        x = FreeFile
        Open Fichier For Input As #x
            While Not EOF(x)
                Line Input #x, ligne
                'traitement du contenue de ligne
            Wend
        Close #x

    Sinon un lien vers la Faq surlequel je viens de tomber, vu la taille des fichier nastran pour de gros modèle et plusieur cas de charge
    Comment importer dans Excel des fichiers txt contenant plus de 65536 lignes ?
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Resolue
    Super tout est dans ton petit exemple
    cela faisait un petit moment que je butais sur ce problème.
    je vais pouvoir avancer.

    encore merci

  4. #4
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Amuse toi bien perso j'ai fini mon traitement de donné c'était du Samcef c'est un autre stagiaire qui aura le droit au donné Nastran

    Ce que j'ai fait pour traiter les ligne (je n'ai pas d'exemple nastran sous la main pour tester)

    Je supprime tous les espace double avec une fonction récurrente (il y a peut être mieux mais c'était le début de mon stage je découvrais le VBA )
    Et ensuite j'utilise la fonction split
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'dans la déclaration de variable
    dim tableau() as string
     
    Line Input #1, ligne
    ligne = supres(trim(ligne)) 'suppression des espace double et des espace au début et a la fin
    tableau = Split(ligne, " ")
    Et la tableau(0) contient la première valeur de la ligne tableau(1) la deuxième,....

    ma fonction pour virer les espaces double triple et autre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Function supres(buffer As String) As String
    If InStr(buffer, "  ") = 0 Then
        supres = buffer
    Else
        supres = supres(Replace(buffer, "  ", " "))
    End If
    End Function
    Et enfin un tuto pour la manipulation de chaine de caractère
    http://silkyroad.developpez.com/VBA/...nesCaracteres/

    Bonne chance et bon courage
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Importer des données depuis un fichier TXT
    Par chfakht dans le forum Administration
    Réponses: 1
    Dernier message: 15/08/2013, 12h26
  2. Réponses: 12
    Dernier message: 12/07/2012, 21h15

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