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
A voir également:

2 réponses

LePierre Messages postés 249 Date d'inscription   Statut Membre Dernière intervention   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
popoye
 
Merci pour ta réponse.
Mais j'ai pas trop compris je dois mettre ça dans ma boucle 'For' ?
0
LePierre Messages postés 249 Date d'inscription   Statut Membre Dernière intervention   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
popoye > LePierre Messages postés 249 Date d'inscription   Statut Membre Dernière intervention  
 
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
LePierre Messages postés 249 Date d'inscription   Statut Membre Dernière intervention   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
popoye > LePierre Messages postés 249 Date d'inscription   Statut Membre Dernière intervention  
 
ok merci beaucoup pour l'aide ça fonctionne
0