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

VBA Access Discussion :

extraire des données d'un fichier txt en VBa


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Points : 38
    Points
    38
    Par défaut extraire des données d'un fichier txt en VBa
    Bonjour,
    je suis débutante en VBa access 2033 j'aimerai bien que quelqu'un m'aiderai comment je pourrai faire un programme ou une macro en vba qui permet d'extraire des données dans un tableau access.
    Merci de m'avoir aider

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Il y a une incohérence entre le titre de ta discussion et le message.

    Titre : Extraire des données d'un fichier texte
    Message : Extraire des données dans un tableau Access



    Merci de reformuler ta question pour que l'ensemble soit cohérent.

    Philippe

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 368
    Points : 23 840
    Points
    23 840
    Par défaut
    Peux-tu donner plus de détails sur ce que tu as en entrée et ce que tu attends en sortie, notement la structure de l'entrée et la structure de la table de résultat ?

    A+

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    j'ai en entrée un fichier texte qui contient des totaux à chaque fois que je trouve un total je le mets dans un tableau access, par exemple Total 11 , sous-total 13 etc ...
    ce que je dois faire un programme (en VBa) qui prends en entrée un fichier.txt et qui donne en sortie un tableau access contenant tous les totaux.
    Merci

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 368
    Points : 23 840
    Points
    23 840
    Par défaut
    Pour avoir une réponse plus précise pourrais-tu mettre un court extrait de ton fichier texte.

    Quand tu mentionnes "tableau", je pense que tu veux dire "table" c-à-d des données qui vont restées disponibles une fois le fichier traité et même si tu quitte l'application, c'est bien cela ?

    A+

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Points : 38
    Points
    38
    Par défaut
    c'est exactement ça !

    Voici le fichier .txt
    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
     
          * INFO *                                                          
          * INFO * INFORMATIONS SUR LA VERSION                              
          * INFO *     LIBELLE DU MODULE        = TB6911.IN  TB6911  COPY 1 
          * INFO *     N. DE LIVRAISON CATV2    = P120644                   
          * INFO *     N. DE SIGNALEMENT V2     = SIG-122629                
          * INFO *     CENTRE PRODUCTEUR        = NANCY                     
          * INFO *     INTERVENANT              = ARE                       
          * INFO *     DATE DE LIVRAISON        = 13/04/12                  
          * INFO *     FONCTION V2              = OBPA                      
          * INFO *     MATERIEL ORIGINE         = UNIX                      
          * INFO *     TYPE DE MODULE           = COPY                      
          * INFO *     TYPE DE MATERIEL         = UNIX                      
          * INFO * SPECIFICITES: - COMPATIBILITE AN 2000                    
          * INFO *                                                          
          *REINSTALLATION DU 13/04/12 PAR CATV2      UNIX                   
          *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
          * COPY: TB6911.in        VERSION :  12/04/2012 12:50:42           
          *                                                                 
          * NOMBRE LIGNES: 22982   LINE START: 1   LINE END: 22982          
          *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  
          *===============================================================  
          * MODULE: GROUP_TAB        VERSION :  12/04/2012 12:50:16         
          *===============================================================  
          *                                                                 
          *                                                                 
          *                                                                 
                MOVE 1            TO G-INDEX(1).                            
                MOVE "TOTAUX"                                               
                     TO G-LIBEL(1).                                         
                MOVE 1             TO G-START-INDEX(1).                     
                MOVE 29             TO G-END-INDEX(1).                      
                MOVE 0             TO G-TYP-ECR-DEBIT(1).                   
                MOVE 0             TO G-TYP-ECR-CREDIT(1).                  
                MOVE 2             TO G-BLANK-LINE(1).                      
                MOVE "0-BORDEREAU DES SOMMES ENCAISSEES"                    
                     TO G-TITEL-GROUP(1).                                   
          *                                                                 
          *                                                                 
                MOVE 2            TO G-INDEX(2).                            
                MOVE "TOTAL 11 - PRODUITS MALADIE"                          
                     TO G-LIBEL(2).                                         
                MOVE 103             TO G-START-INDEX(2).                   
                MOVE 160             TO G-END-INDEX(2).                     
                MOVE 15             TO G-TYP-ECR-DEBIT(2).                  
                MOVE 0             TO G-TYP-ECR-CREDIT(2).                  
                MOVE 2             TO G-BLANK-LINE(2).                      
                MOVE "1-CONSTATATIONS DES PRODUITS"                         
                     TO G-TITEL-GROUP(2).                                   
          *                                                                 
          *                                                                 
                MOVE 3            TO G-INDEX(3).                            
                MOVE "TOTAL 12 - PRODUITS ACCIDENTS DU TRAVAIL"             
                     TO G-LIBEL(3).                                         
                MOVE 161             TO G-START-INDEX(3).                   
                MOVE 164             TO G-END-INDEX(3).                     
                MOVE 15             TO G-TYP-ECR-DEBIT(3).                  
                MOVE 0             TO G-TYP-ECR-CREDIT(3).                  
                MOVE 2             TO G-BLANK-LINE(3).                      
                MOVE "1-CONSTATATIONS DES PRODUITS"                         
                     TO G-TITEL-GROUP(3).                                   
          *                                                                 
          *                                                                 
                MOVE 4            TO G-INDEX(4).                            
                MOVE "TOTAL 13 - PRODUITS FAMILLE"                          
                     TO G-LIBEL(4).                                         
                MOVE 165             TO G-START-INDEX(4).                   
                MOVE 180             TO G-END-INDEX(4).                     
                MOVE 15             TO G-TYP-ECR-DEBIT(4).                  
                MOVE 0             TO G-TYP-ECR-CREDIT(4).                  
                MOVE 2             TO G-BLANK-LINE(4).                      
                MOVE "1-CONSTATATIONS DES PRODUITS"                         
                     TO G-TITEL-GROUP(4).                                   
          *                                                                 
          *                                                                 
                MOVE 5            TO G-INDEX(5).                            
                MOVE "TOTAL 14 - PRODUITS VIEILLESSE  PLA DEPLA"            
                     TO G-LIBEL(5).                                         
                MOVE 181             TO G-START-INDEX(5).                   
                MOVE 206             TO G-END-INDEX(5).                     
                MOVE 15             TO G-TYP-ECR-DEBIT(5).                  
                MOVE 0             TO G-TYP-ECR-CREDIT(5).                  
                MOVE 2             TO G-BLANK-LINE(5).                      
                MOVE "1-CONSTATATIONS DES PRODUITS"                         
                     TO G-TITEL-GROUP(5).                                   
          *                                                                 
          *                                                                 
                MOVE 6            TO G-INDEX(6).                            
                MOVE "TOTAL 15 - PRODUITS BRANCHES   (=11+12+13+14)"        
    ...
    je dois extraire chaque total et sous total et les mettre dans une table access.
    Merci de m'aider.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    s'il vous plait aidez moi, vraiment j'arrive pas à commencer , surtout que je trouve beaucoup de difficulté avec ce langage merci

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 368
    Points : 23 840
    Points
    23 840
    Par défaut
    Bonjour, ce site est principalement basé sur le tavail de volontaires non rémunérés qui font cela dans leurs temps libres donc aucune garantie de délais n'est possible.

    Personnellement j'étais malade hier.

    Pour en revenir à ton problème voici comment je procéderai :

    1) créer une table pour stocker les résultats
    2) vider les résultats
    3) charger les résultats dans la table.

    Pour 1 je vais supposer :

    Table Resultat
    NumSequence (AutoNum)
    NomFichierSource (string 255)
    NumLigneFichierSource (antier long)
    LigneSource (string 255)

    Pour 2

    créer une requête de suppression d'enregistrement de la table (avec l'éditeur de requête). Sauvegarder sous rViderResultat.

    Pour 3

    à mettre dans un module

    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
    public sub ChargerFichier(prmNomFichier)
        dim db as dao.database:set db=currentdb
     
        db.querydefs("rViderResultat").execute
     
        dim cptLigne as long
        dim numFic as slong:numFic=freeFile()
     
        dim lf as string
     
        open prmNomFic as #numFinc for input
        dim r as dao.database:set r=db.openRecordset("Resulttat")
     
        do while not eof(1)
           cptLigne=CptLigne+1
           line input #numFic, lf 'Lire une ligne du fichier
     
           if lf like "*TOTAL*" then
             'Si la ligne ressemble à "quelque chose TOTAL quelque chose", la chager dans la table
             r.addnew
             r![NomFichierSource]=prmNomFichier
             r![NumLigneFichierSource]=cptLigne
             r![LigneSource]=lf
             r.update
           end if
     
        loop
     
        r.close:set r=nothing
        close #numfic
     
        set db=nothing
    end sub
    pour l'excuter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call ChargerFichier("Ici le nom du fichier a traiter")
    A+

  9. #9
    Nouveau membre du Club
    Inscrit en
    Février 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 85
    Points : 38
    Points
    38
    Par défaut
    Merci énormément pour votre aide .

Discussions similaires

  1. extraire des données d'un fichier .txt
    Par granbapt dans le forum C
    Réponses: 6
    Dernier message: 09/08/2012, 13h39
  2. Extraire des données d'un fichier txt dans un vecteur
    Par sam14 dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 22/02/2012, 13h56
  3. [Débutant] Besoin d'extraire des données d'un fichier txt
    Par Paul.R dans le forum MATLAB
    Réponses: 24
    Dernier message: 09/12/2009, 19h20
  4. Extraire des données d'un fichier .txt
    Par carlou135 dans le forum C++
    Réponses: 3
    Dernier message: 18/02/2008, 17h55
  5. Réponses: 7
    Dernier message: 29/09/2005, 11h19

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