XL 2016 Boucle import nom de fichier

james7734

XLDnaute Junior
Bonjour à tous!

Bloqué sur VBA, je fais appel à votre aide.
Voilà, je possède un répertoire de fichiers .fic où les noms de fichiers sont constitués de "yyyymmjj"&"TEST.fic (ex: 20200221TEST.fic). Mon objectif était d'importer ces fichiers dans ma feuille mais seulement certains fichiers (correspondant à une fourchette de dates). Je veux donc créer en paramètre une fourchette de date (date de début, date de fin) qu'on puisse changer manuellement, et qui va permettre l'import de tout les fichiers compris entre ces dates.
Exemple : date de début= 20200201; date de fin=20200210; cela importe tout les fichiers du 1 au 10 fév. Les fichiers importés s'aggrègent dans la feuille "Data".

Je ne sais pas si j'ai été assez clair?

Merci beaucoup de votre aide!
 

Pièces jointes

  • import csv test2.xlsm
    29 KB · Affichages: 5
Solution
bonjour
Voici quelques modifications, j'ai essayé de tester, mais je te laisse gérer l'importation,
J'ai lié le code à ta procédure en commentaire les modifs
Tu dois commencer par remplacer chemin = ThisWorkbook.Path & "/test/"
par chemin = "F:\Fastnet\2020\"
si le disque F n'est pas le dique courant tu devras certainement faire un chdir() avant le dir

sousou

XLDnaute Barbatruc
Bonjour
tu trouveras ci-joint en dessous de ta macro un petit code que tu devras finaliser en fonction de ta config,
Il devrait faire ce que tu souhaites (à vérifier pas testé)
 

Pièces jointes

  • import csv.xlsm
    26.4 KB · Affichages: 3

james7734

XLDnaute Junior
Bonjour
tu trouveras ci-joint en dessous de ta macro un petit code que tu devras finaliser en fonction de ta config,
Il devrait faire ce que tu souhaites (à vérifier pas testé)
Merci sousou pour ta réponse rapide!
Cependant, je retrouve une erreur de compilation au niveau de "Dir(chemin)".
J'aimerais aussi conserver mon code :
VB:
    sBase = "F:\Fastnet\2020\"
    sExt = "TESTI.fic"
    sSuffix = InputBox("Mettre la date (yyyymmjj)")
    sFileName = sBase & sSuffix & sExt

car je dois aussi prendre en compte la dernière lettre du nom de fichier (seulement les fichiers finissant par "...I.fic").
Il n'y a donc pas besoin de boucle pour importer les fichiers à la suite (s'il y en a plusieurs)?
Je ne comprends pas tout le code, penses-tu que tu serais en mesure de l'appliquer à ma macro déjà présente pour que je comprenne tout?

Je te remercie énormément,
 

sousou

XLDnaute Barbatruc
bonjour
Voici quelques modifications, j'ai essayé de tester, mais je te laisse gérer l'importation,
J'ai lié le code à ta procédure en commentaire les modifs
Tu dois commencer par remplacer chemin = ThisWorkbook.Path & "/test/"
par chemin = "F:\Fastnet\2020\"
si le disque F n'est pas le dique courant tu devras certainement faire un chdir() avant le dir
 

Pièces jointes

  • import csv.xlsm
    27.3 KB · Affichages: 6

Discussions similaires

Réponses
11
Affichages
504