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 :

Macro pour importer plusieurs fichiers .txt dans différents onglets


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Hydrographe
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Hydrographe

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Par défaut Macro pour importer plusieurs fichiers .txt dans différents onglets
    Bonjour,

    J'ai trouvé cette macro qui ouvre les fichiers .txt sélectionnés dans différents onglets d'un nouveau workbook. J'aimerais modifier cette macro pour que les fichiers .txt sélectionnés s'ouvrent dans de nouveaux onglets mais du workbook actuel.

    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
    Sub CombineTextFiles()
        Dim xFilesToOpen As Variant
        Dim i As Integer
        Dim xWb As Workbook
        Dim xTempWb As Workbook
        Dim xDelimiter As String
        Dim xScreen As Boolean
        On Error GoTo ErrHandler
        xScreen = Application.ScreenUpdating
        Application.ScreenUpdating = False
        xDelimiter = "|"
        xFilesToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt", , "Sélectionner vos fichiers", , True)
        If TypeName(xFilesToOpen) = "Boolean" Then
            MsgBox "No files were selected", , "Excel"
            GoTo ExitHandler
        End If
     
        Set xWb = ThisWorkbook
        i = 1
        Set xTempWb = Workbooks.Open(xFilesToOpen(i))
        xTempWb.Sheets(1).Copy
        Set xWb = Application.ActiveWorkbook
        xTempWb.Close False
        xWb.Worksheets(i).Columns("A:A").TextToColumns _
          Destination:=Range("A1"), DataType:=xlDelimited, _
          TextQualifier:=xlDoubleQuote, _
          ConsecutiveDelimiter:=False, _
          Tab:=False, Semicolon:=False, _
          Comma:=False, Space:=False, _
          Other:=True, OtherChar:="|"
        Do While i < UBound(xFilesToOpen)
            i = i + 1
            Set xTempWb = Workbooks.Open(xFilesToOpen(i))
            With xWb
                xTempWb.Sheets(1).Move After:=.Sheets(.Sheets.Count)
                .Worksheets(i).Columns("A:A").TextToColumns _
                  Destination:=Range("A1"), DataType:=xlDelimited, _
                  TextQualifier:=xlDoubleQuote, _
                  ConsecutiveDelimiter:=False, _
                  Tab:=False, Semicolon:=False, _
                  Comma:=False, Space:=False, _
                  Other:=True, OtherChar:=xDelimiter
            End With
        Loop
     
     
    ExitHandler:
        Application.ScreenUpdating = xScreen
        Set xWb = Nothing
        Set xTempWb = Nothing
        Exit Sub
    ErrHandler:
        MsgBox Err.Description, , "Excel"
        Resume ExitHandler
    End Sub
    Merci pour votre aide.

  2. #2
    Candidat au Club
    Homme Profil pro
    Hydrographe
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Hydrographe

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Par défaut
    Pour les intéressés, voici 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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Sub CombineTextFiles()
        Dim xFilesToOpen As Variant
        Dim i As Integer
        Dim xWb As Workbook
        Dim xTempWb As Workbook
        Dim xDelimiter As String
        Dim xScreen As Boolean
        On Error GoTo ErrHandler
        xScreen = Application.ScreenUpdating
        Application.ScreenUpdating = False
        xDelimiter = "|"
        xFilesToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt", , "Sélectionner vos fichiers", , True)
        If TypeName(xFilesToOpen) = "Boolean" Then
            MsgBox "No files were selected", , "Excel"
            GoTo ExitHandler
        End If
     
        Set xWb = ThisWorkbook
        Do While i < UBound(xFilesToOpen)
            i = i + 1
            Set xTempWb = Workbooks.Open(xFilesToOpen(i))
            With xWb
                xTempWb.Sheets(1).Move After:=.Sheets(.Sheets.Count)
                .Worksheets(i).Columns("A:A").TextToColumns _
                  Destination:=Range("A1"), DataType:=xlDelimited, _
                  TextQualifier:=xlDoubleQuote, _
                  ConsecutiveDelimiter:=False, _
                  Tab:=False, Semicolon:=False, _
                  Comma:=False, Space:=False, _
                  Other:=True, OtherChar:=xDelimiter
            End With
        Loop
     
     
    ExitHandler:
        Application.ScreenUpdating = xScreen
        Set xWb = Nothing
        Set xTempWb = Nothing
        Exit Sub
    ErrHandler:
        MsgBox Err.Description, , "Excel"
        Resume ExitHandler
    End Sub
    Bonne journée.

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

Discussions similaires

  1. [XL-2010] macro pour ouvrir des fichiers TXT sur plusieurs onglets
    Par dafchap dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/04/2016, 20h16
  2. importer un fichier .txt dans une table
    Par caracas dans le forum Administration
    Réponses: 2
    Dernier message: 31/07/2007, 21h19
  3. Réponses: 8
    Dernier message: 28/12/2006, 14h18
  4. Réponses: 1
    Dernier message: 15/09/2006, 16h23
  5. .bat pour l'import de fichier txt dans postgres
    Par pseudomh dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 25/03/2005, 00h02

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