Ouvrir plusieurs .txt avec excel

Résolu
popoye -  
 popoye -
Bonjour,

Je voudrais ouvrir plusieurs fichiers texte à la suite dans une page excel.
Je suis arriver à ouvrir mes fichiers dans plusieurs classeur différents mais impossible de le faire dans une seule et meme page.

Set fichcherche = Application.FileSearch
With fichcherche
    .LookIn = ActiveWorkbook.Path
    .Filename = "*.txt"
    If .Execute > 0 Then
        For I = 1 To .FoundFiles.Count
            Workbooks.OpenText Filename:=.FoundFiles(I)
            
        Next I
    Else
        MsgBox "Aucun fichier n'a été trouvé."
    End If
   
End With
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. LePierre Messages postés 249 Statut Membre 338
     
    bonjour

    après ouverture de ton 2ème classeur, il faut déplacer la feuille dans ton 1er classeur
    voici par exemple un code obtenu avec l'enregistreur de macro :
    Sheets("Feuil1").Select
    Sheets("Feuil1").Move Before:=Workbooks("Classeur1.xls").Sheets(1)

    à plus
    0
  2. popoye
     
    Merci pour ta réponse.
    Mais j'ai pas trop compris je dois mettre ça dans ma boucle 'For' ?
    0
    1. LePierre Messages postés 249 Statut Membre 338
       
      je n'ai pas testé mais en mettant cette commande après "Workbooks.OpenText Filename:=.FoundFiles(I)", tu vas transférer l'onglet concerné dans ton classeur1.xls.
      Il faudra ensuite refermer (voir close) ton classeur txt.
      et ainsi de suite pour les autres classeurs txt puisque placé dans la boucle

      Si tu rencontres des problèmes, dis le moi, je ferai un bout de programme pour tester.

      à plus
      0
      1. popoye > LePierre Messages postés 249 Statut Membre
         
        J'ai testé mais j'ai une erreur qui apparait.

        Voila ce que j'ai mis:

        Set fichcherche = Application.FileSearch
        With fichcherche
            .LookIn = ActiveWorkbook.Path
            .Filename = "*.txt"
            If .Execute > 0 Then
                For I = 1 To .FoundFiles.Count
                    Workbooks.OpenText Filename:=.FoundFiles(I)
                    Sheets(.FoundFiles(I)).Select
                    Sheets(.FoundFiles(I)).Move Before:=Workbooks("Cartelucent.xls").Sheets(1)
                    Sheets(.FoundFiles(I)).Close
                    
                Next I
            Else
                MsgBox "Aucun fichier n'a été trouvé."
            End If


        Je pense que l'erreur vient de la façon dont j'appelle la feuille mais je ne vois pas comment faire autrement.
        0
      2. LePierre Messages postés 249 Statut Membre 338 > popoye
         
        bonjour

        voici le code rectifié et testé :
        Sub test()
            ClasseurRéférence = ActiveWorkbook.Name
            
            Set fichcherche = Application.FileSearch
            x = fichcherche.FoundFiles.Count
            With fichcherche
                .LookIn = ActiveWorkbook.Path
                .Filename = "*.txt"
                If .Execute > 0 Then
                    For i = 1 To .FoundFiles.Count
                        Workbooks.OpenText Filename:=.FoundFiles(i)
                        ActiveSheet.Move Before:=Workbooks(ClasseurRéférence).Sheets(1)
                    Next i
                Else
                    MsgBox "Aucun fichier n'a été trouvé."
                End If
            End With
        End Sub

        la procédure de fermeture du fichier ne servait à rien puisque le fichier txt ne contient qu'une feuille. Le fait de la transférer dans classeur1.xls ferme de fait ce fichier txt.
        à plus
        0
      3. popoye > LePierre Messages postés 249 Statut Membre
         
        ok merci beaucoup pour l'aide ça fonctionne
        0