Importer plusieurs fichiers excel [Résolu]

pipoune755 - 27 juin 2013 à 15:35 - Dernière réponse :  pipoune755
- 3 juil. 2013 à 14:46
Bonjour,

J'aimerais importer une quantité de fichiers texte aléatoire (qui varie selon les mois ) dans une seule feuille excel, à la suite.
Je me heurte évidemment à la question du nombre et des noms.
Serait-il possible d'importer tous les fichiers textes contenus dans un dossier ( par exemple dossier FichiersTexte1 dans répertoire C:)

Quelqu'un pourrait-il me conseiller svp ?
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
3
Merci
Bonjour,

J'ai finalement trouvé le code suivant qui fonctionne.

Merci de votre aide .

Sub Test()
    Dim Fichier As String, Chemin As String
    Dim i As Long
    
    'Répertoire contenant les fichiers
    Chemin = "H:\\TRAVAUX STAGIAIRE\test2"
    Fichier = Dir(Chemin & "\*.*")
    
    'Boucle sur les fichiers
    Do While Fichier <> ""
        
        i = Range("A65536").End(xlUp).Row + 1
        ImportText Chemin & "" & Fichier, Cells(i, 1)
        
        Fichier = Dir
    Loop
End Sub
 


Sub ImportText(NomFichier As Variant, Cible As Range)
    Dim QT As QueryTable
    
    Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & _
        NomFichier, Destination:=Cible)
    
    With QT
        'Définit les séparateur de colonnes dans le fichier txt
        .TextFileOtherDelimiter = ";"
        .TextFileSemicolonDelimiter = True
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .Refresh
    End With
End Sub
 
 




Merci pipoune755 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de pipoune755
MarcPL 172 Messages postés jeudi 8 décembre 2011Date d'inscription 21 juillet 2013 Dernière intervention - 27 juin 2013 à 17:04
0
Merci
Bonjour,

consulter l'aide de la fonction Dir ...

___________________________________________________________________________________________________________________
Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !
Commenter la réponse de MarcPL
pipoune755 - 28 juin 2013 à 10:10
0
Merci
Bonjour,

Merci MarcPL, j'ai donc trouvé cette fameuse fonction Dir qui m'a permis d'importer tous mes fichiers textes dans des feuilles Excel différentes.
Sub ImportText()

'l'instruction ChDir permet de se positionner
'sur un répertoire précis
ChDir "***" '*** remplaçant le repertoire où je vais chercher tous mes fichiers textes
monfichier = Dir("*.*")

While monfichier <> ""
    Workbooks.Open monfichier
    monfichier = Dir()
Wend

End Sub


Maintenant, j'aimerais les ouvrir toutes dans la même feuille.
Aurais-tu une autre fonction utile en stock ? :p

Merci de ton aide
Commenter la réponse de pipoune755
pipoune755 - 28 juin 2013 à 11:24
0
Merci
J'ai testé le code ci-dessus plusieurs fois et maintenant il ne marche plus... Alors que les lignes sont rigoureusement identiques et que le chemin proposé est le même ( copié collé pour ne pas avoir d'erreur).
Il va me cherche les fichiers dans 'mes documents'...
Je ne comprends plus.
Commenter la réponse de pipoune755
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 28 juin 2013 à 11:41
0
Merci
Bonjour,
- monfichier est le nom du fichier et non son chemin complet !
- assure-toi par ailleurs de ne pas ouvrir un fichier déjà ouvert


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 28 juin 2013 à 11:43
0
Merci
et ceci :
monfichier = Dir("*.*")

reste à espérer que ce dossier ne contient que des classeurs Excel !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
pipoune755 - 28 juin 2013 à 11:56
0
Merci
Son chemin complet est renseigné ici(si j'ai bien compris ) : 

ChDir "C:\***" '*** correspond au repertoire où je vais chercher tous mes fichiers textes

Et dans ce répertoire, il n'y a que des fichiers texte que je souhaite ouvrir dans une seule feuille Excel ( Désolé si je n'ai pas été suffisamment clair ).
Et donc le code :
monfichier = Dir("*.*")
correspond à tous les fichiers qu'il va ouvrir à partir de mon répertoire que je lui ais indiqué ?
Commenter la réponse de pipoune755
0
Merci
edit : Il n'y aurait que des fichiers textes à importer dans une feuille Excel ( et non des fichiers excel ).

Personne pour me renseigner ?
Commenter la réponse de pipoune755
0
Merci
edit 2 : Sans explication aucune sauf plusieurs coups de pied dans l'unité centrale, j'ai réussi à ouvrir tous mes fichiers textes dans des feuilles excel. J'aimerai maintenant les ouvrir tous à la suite dans Une feuille EXcel. Quelqu'un peut-il m'aider svp ?
' Code Visual Basic anglais
Sub ouvrir_fichiers()
'l'instruction ChDir permet de se positionner
'sur un répertoire précis
ChDir "C:\TRAVAUX STAGIAIRE\autom rappro\test2"
monfichier = Dir("*.*")
While monfichier <> ""
Workbooks.Open monfichier
monfichier = Dir()
Wend
End Sub
Commenter la réponse de pipoune755
cs_MPi 3877 Messages postés mardi 19 mars 2002Date d'inscription 23 août 2018 Dernière intervention - 2 juil. 2013 à 17:21
0
Merci
Bonjour,

Dans ta boucle While, tu dois ouvrir le fichier, déterminer la première ligne vide et y copier ton fichier. Par contre, dans ton code, on ne voit pas ce que tu fais de tes fichiers que tu ouvres... et ne fermes pas...

Si tu travailles avec des fichiers texte, regarde l'aide sur DataObject
Et utilise Open plutôt que workbooks.open

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Commenter la réponse de cs_MPi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.