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 :

Insérer le contenu d'un fichier TXT dans une colonne de Excel en VBA [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2015
    Messages : 52
    Par défaut Insérer le contenu d'un fichier TXT dans une colonne de Excel en VBA
    Bonjour,

    Avec la macro suivante, je cherche à coller le contenu d'un fichier txt (ExtractTAG.txt) dans la cellule "A2" d'un tableau déjà formaté de la feuille de calcul ExtractTAG d'un classeur Excel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub RecupData()
     
        Dim Fichier As String
     
        Fichier = "C:\Travail en cours\ExtractTAG.txt"
     
        Worksheets("ExtractTAG").QueryTables.Add("TEXT;" & Fichier, [A2]).Refresh
     
    End Sub
    Mais je n'obtiens pas le résultat que je souhaite.
    La colonne A se rempli bien à partir de la ligne 2 mais pas dans mon tableau existant.
    Le tableau existant a été décalé en colonne B et reste vide.
    En faite ça insère une colonne au lien d'écrire dans celle existante.

    Pouvez vous m'aider ?

    Merci.

  2. #2
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2015
    Messages : 52
    Par défaut
    Si ça peut aider, je précise que le tableau existant et un tableau structuré.

  3. #3
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 432
    Par défaut
    Bonjour,

    Une possibilité:
    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
    Option Explicit
     
    Sub AddTxt()
        Dim sFichier As String, c As Range
        Set c = ActiveSheet.ListObjects(1).Range.End(xlDown).Offset(1, 0)   '--- cellule sous le tableau
        sFichier = "C:\Travail en cours\ExtractTAG.txt"
        '--- ouvre le fichier de données (dans une nouvelle fenêtre Excel)
        Workbooks.OpenText Filename:=sFichier, DataType:=xlDelimited, Semicolon:=True, Local:=True
        '--- copie les données puis referme le fichier de données
        With ActiveWorkbook
            .ActiveSheet.UsedRange.Copy c       '--- copie les données en c
            .Close                              '--- referme le fichier de données
        End With
        Set c = Nothing
    End Sub
    Cordialement.

  4. #4
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2015
    Messages : 52
    Par défaut
    Merci beaucoup ça fonctionne saut qu'il a fallu que je change:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set c = ActiveSheet.ListObjects(1).Range.End(xlDown).Offset(1, 0)   '--- cellule sous le tableau
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set c = ActiveSheet.ListObjects(1).Range.End(xlDown).Offset(0, 0)   '--- cellule sous le tableau
    pour que ça écrive dans la première cellule de mon tableau structuré (A2)

    Entre temps, j'avais fait ça mais qui est bcp moins bien car ça travaille ligne par ligne, et c'était super long, vu que ça recalule toutes mes formules à chaque fois et mon txt contient plus de 12000 lignes, mai si ça peut aider quelqu'un d'autre sujet approchant...

    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
    RecupData()
    'Méthode ligne par ligne très long !!!
     
        Dim FicfierTxt As String
        Dim NumLigne As Long
        Dim LigneFichier As String
     
        FichierTxt = "C:\Travail en cours\ExtractTAG.txt"
     
        Open FichierTxt For Input As #1
            NumLigne = 1
            Do Until EOF(1)                                             'End of file
                Line Input #1, LigneFichier
                Range("ExtractTAG").Cells(NumLigne, 1) = LigneFichier
                NumLigne = NumLigne + 1
            Loop
        Close #1
     
    End Sub
    Encore merci pour votre aide précieuse.

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

Discussions similaires

  1. Copier le contenu d'un fichier.txt dans une Textbox
    Par daniel100 dans le forum Visual Studio
    Réponses: 1
    Dernier message: 08/10/2018, 01h56
  2. Réponses: 3
    Dernier message: 19/07/2016, 20h34
  3. Copier le contenu d'un fichier .TXT dans un autre
    Par Rogeur dans le forum Tcl/Tk
    Réponses: 7
    Dernier message: 06/04/2009, 17h24
  4. recuperer le contenu d'un fichier txt dans un JTextArea
    Par fraisa1985 dans le forum Composants
    Réponses: 1
    Dernier message: 09/02/2008, 12h25
  5. Réponses: 1
    Dernier message: 14/04/2006, 16h51

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