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 :

Ouvrir un fichier txt d'une macro access


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Employé
    Inscrit en
    Juin 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Employé
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 77
    Points : 83
    Points
    83
    Par défaut Ouvrir un fichier txt d'une macro access
    Bonjour,

    Je voudrais ouvrir dans excel un fichier txt pour pouvoir le transformer en quelque chose d'exploitable. Il faut en effet que je supprime les 1ères lignes de ce fichier, certaines colonnes etc etc...
    Le problème est que je voudrais faire cela à partir d'une macro dans ACCESS.
    Autant dans excel pas de soucis mais dans ACCESS c'est un autre problème.
    J'ouvre excel et un classeur avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    'Initialisation d'excel
    Set xlApp = GetObject(, "Excel.application")
    Set xlBook = xlApp.Workbooks.Add
    Mais comment ensuite ouvrir mon fichier txt et lancer les transformation ? Ci-dessous le code en vba excel qui fonctionne :
    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
    Workbooks.OpenText FileName:= _
            "O:\CM-RFC\SIRIUS\Suivi des créances échues SIRIUS\MACRO SUIVI DES ECHUS\FBL5N.txt" _
            , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
            :=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:= _
            False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array _
            (1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1)), _
            TrailingMinusNumbers:=True
    '
    Rows("1:9").Select
    Selection.Delete Shift:=xlUp
    Columns("A:A").Select
    Selection.Delete Shift:=xlToLeft
    Rows("2:2").Select
    Selection.Delete Shift:=xlUp
    ActiveWindow.SmallScroll ToRight:=7
    Range("R1").Select
    Selection.Cut Destination:=Range("S1")
    Columns("R:R").Select
    Selection.Delete Shift:=xlToLeft
    Columns("E:E").Select
    Selection.Delete Shift:=xlToLeft
    Columns("B:B").Select
    Selection.Delete Shift:=xlToLeft
    Merci de votre aide.

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 092
    Points : 5 210
    Points
    5 210
    Par défaut
    Bonjour,

    Cela peut probablement se faire en utilisant excel dans access comme tu as commencé à le faire mais ça serait plus simple à mon avis de traiter le texte directement avec les outils de la bibliothèque "microsoft scripting runtime"
    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
    Dim FSO As New Scripting.FileSystemObject
    Dim F1 As Scripting.TextStream, F2 As Scripting.TextStream
     
    Set F1 = FSO.OpenTextFile("avant.txt")
    Set F2 = FSO.OpenTextFile("apres.txt", ForWriting, True)
     
    'parcourt le fichier texte dans F1 et écrit dans F2
    While Not F1.AtEndOfStream
      T = F1.ReadLine
      T=... 'modifications
      F2.WriteLine T
    Wend
    F1.Close: Set F1 = Nothing
    F2.Close: Set F2 = Nothing
    Set FSO = Nothing
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Membre régulier
    Homme Profil pro
    Employé
    Inscrit en
    Juin 2014
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Employé
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 77
    Points : 83
    Points
    83
    Par défaut
    Bonjour

    Merci pour ta réponse en cherchant encore un peu dans les forums j'ai finalement écrit ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    '
    'Ouverture d'excel et de la macro transformant le fichier txt
    Dim MonObjet As Object
    Set MonObjet = GetObject("", "Excel.Sheet")
    MonObjet.Application.Visible = True
    MonObjet.Application.Workbooks.Open "O:\CM-RFC\SIRIUS\Suivi des créances échues SIRIUS\MACRO SUIVI DES ECHUS\FBL5N.xlsm"
    MonObjet.Application.Run "TRANSFO_FBL5N_TXT"
    Set MonObjet = Nothing
    La seule chose de bizarre c'est que je n'arrive pas à fermer le fichier FBL5N.xlsm.....
    C'est pas trop grave mais j'aurais aimé aller jusqu'au bout...
    J'ai bien essayé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonObjet.Application.Workbooks.Close "O:\CM-RFC\SIRIUS\Suivi des créances échues SIRIUS\MACRO SUIVI DES ECHUS\FBL5N.xlsm"
    Mais ça plante

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

Discussions similaires

  1. Ouvrir un fichier video par une macro excel
    Par cott333 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/05/2013, 14h11
  2. Ouvrir plusieurs fichier .txt dans une loop
    Par IngenieurElec dans le forum C
    Réponses: 5
    Dernier message: 16/11/2012, 11h54
  3. [AC-2000] Problème Import fichier .txt dans une table Access
    Par sylviobarca dans le forum VBA Access
    Réponses: 3
    Dernier message: 30/12/2010, 17h17
  4. Ouvrir un fichier pdf depuis une macro
    Par Maluje dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/03/2008, 17h51
  5. [DDE]Import fichier .txt dans une base Access
    Par stoonman dans le forum Access
    Réponses: 3
    Dernier message: 23/03/2007, 19h08

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