Importer des données

Résolu/Fermé
kvjld35 Messages postés 22 Date d'inscription jeudi 12 mai 2016 Statut Membre Dernière intervention 13 juin 2016 - 17 mai 2016 à 09:59
kvjld35 Messages postés 22 Date d'inscription jeudi 12 mai 2016 Statut Membre Dernière intervention 13 juin 2016 - 17 mai 2016 à 11:07
Bonjour,

Dans le cadre d'un projet sur lequel je travaille je suis confronté à une situation qui me pose problème.
J'ai en fait un répertoire dans lequel sont stockés plusieurs fichiers .csv et j'aimerai que ma macro récupère les données de chacun d'entre eux pour les importer dans une feuille excel. Pour être clair, je voudrai que ma macro :

-Récupère les données du 1er fichier
-Les Importe dans Data.xls
-Récupère les données du 2eme fichier
-Les importe dans Data.xls
-etc...

Cependant le problème est que le nom des fichiers du répertoire est inconnu, c'est à dire qu'ils résultent d'acquisitions par un appareil et changent à chaque fois..

Voyez-vous une solution à mon problème ?

Merci à tous pour le temps que vous prendrez à me répondre :-)


A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
17 mai 2016 à 11:01
Bonjour,

Ce code va boucler sur tous les fichiers csv d'un même répertoire.
Ne fonctionne pas avec les répertoires "spéciaux" de windows (bureau etc...). Si c'est le cas, on peut faire différemment...

Sub ImportCsv()
    Dim objShell As Object, objFolder As Object
    Dim Chemin As String, Fichier As String
    
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)

    If objFolder Is Nothing Then
        MsgBox "Abandon opérateur", vbCritical, "Annulation"
    Else
        Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & "\"
        Fichier = Dir(Chemin & "*.csv")
        Do While Len(Fichier) > 0
            'ici le code d'import des fichiers
            Debug.Print Chemin & Fichier
            Fichier = Dir()
        Loop
    End If
End Sub

0
kvjld35 Messages postés 22 Date d'inscription jeudi 12 mai 2016 Statut Membre Dernière intervention 13 juin 2016
17 mai 2016 à 11:07
Merci pour ton aide ! C'est la fonction Dir qu'il me manquait :-)
Ta réponse m'épargne pas mal de temps, merci.
0