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 :

[VBA-E]import fichier TXT et séparateur


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut [VBA-E]import fichier TXT et séparateur
    Avec ce code j'arrive à ouvrir un fichier txt, mais les séparateurs "tab" ne sont pas pris en compte. Tout et mis en colonne A

    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
     
    Sub ImporterFichier()
    Dim strFiles
            'Affiche la boîte de dialogue Ouvrir
    strFiles = Application.GetOpenFilename _
    (FileFilter:="Fichier texte(*.txt),*.txt" _
    , Title:="Sélectionnez le fichier à ouvrir")
            'Inscrit le chemin et le nom du fichier ouvert
    Dim r, Data
    Range("A1").Select
    On Error GoTo Annuler
    Open strFiles For Input As #1
    r = 0
    Do Until EOF(1)
    Line Input #1, Data
    ActiveCell.Offset(r, 0) = Data
    r = r + 1
    Loop
    Close #1
    GoTo Suite
    Annuler: MsgBox "Vous n'avez sélectionner aucun fichier"
    Range("A1") = ""
    Suite:
    End Sub

  2. #2
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut import fichier TXT et séparateur
    J'ai résolu le problème comme ceci et maintenant mes données apparaissent bien dans chaque colonne.
    Qu'en pensez vous ? est ce plus clair ?
    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
     
    Sub ImporterFichier()
    Dim strFiles
              'Affiche la boîte de dialogue Ouvrir
    strFiles = Application.GetOpenFilename _
    (FileFilter:="Fichier texte(*.txt),*.txt" _
    , Title:="Sélectionnez le fichier à ouvrir")
              'Inscrit le chemin et le nom du fichier ouvert
    Dim r, Data
    Range("A1").Select
    On Error GoTo Annuler
    Workbooks.OpenText Filename:=strFiles, _
        DataType:=xlDelimited, Tab:=True
    GoTo Suite
    Annuler: MsgBox "Vous n'avez sélectionner aucun fichier"
    Range("A1") = ""
    Suite:
    End Sub

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    en rajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Range("A1:A" & r).Select 
        Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
    et en bricolant array(2 tu pourrais y arriver

    NB l'identation n'a rien d'obligatoire c'est juste une commodité pour
    ceux qui ne savent pas bien lire

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut import fichier TXT et séparateur
    Désolé mais je ne vois pas où, à quel endroit ? dans le premier ou dans le deuxième code ?

    Dans le deuxième code, je viens de m'appercevoir que j'ai trop vite crié victoire car si mon data se réparti correctement en lignes et colonnes, il le fait dans un nouveau classeur, alors que je le voudrais dans la feuille active.

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut import fichier TXT et séparateur
    Aprés avoir revisité le forum je pense avoir trouvé comment réaliser l'ouverture du fichier txt dans la feuille active.

    Voilà le code final :

    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
     
     
    Sub ImporterFichier()
    '----------------------------------------------------------------
    ' Import d'un fichier texte dans la feuille active
    '----------------------------------------------------------------
    Dim strFiles As String
     
    '1 - Affiche la boîte de dialogue Ouvrir
     
    strFiles = Application.GetOpenFilename _
    (FileFilter:="Fichier texte(*.txt),*.txt" _
    , Title:="Sélectionnez le fichier à ouvrir")
     
    On Error GoTo Annuler
     
    '2 - Je rempli la feuille active du data à partir de A1
     
    ActiveSheet.QueryTables.Add(Connection:="TEXT;" & strFiles _
    , Destination:=Range("A1")).Refresh
     
    GoTo Suite
    Annuler: MsgBox "Vous n'avez sélectionner aucun fichier"
    Range("A1") = ""
    Suite:
     
    End Sub
    Merci à tous

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

Discussions similaires

  1. [WD17] Import fichier txt (séparateur tabulation)
    Par MISS ELIOTE dans le forum WinDev
    Réponses: 9
    Dernier message: 20/03/2014, 13h14
  2. Importation fichier txt en VBA
    Par willytito dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/08/2007, 11h22
  3. [SQLServer]Script import fichier .txt
    Par Jenbi dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/08/2006, 16h49
  4. import fichier txt
    Par nogood1 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 05/10/2005, 11h33
  5. Pb import fichier txt avec lignes de longueurs diverses
    Par zebulon90 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/12/2004, 08h32

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