Importation d'un fichier dont le nom n'est pas connu

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chuinul

XLDnaute Occasionnel
Bonjour,

Je voudrais qu'une de mes macro importe un fichier d'un emplacement donné et connu (disons d:/data/) mais dont le nom de ce fichier (au format csv) n'est que partiellement connu.

Format du nom de ce fichier :

SERVEURS_csv_CHIFFRE1_CHIFFRE2.CSV

A savoir que je :

CHIFFRE1 est une date, au format AAAAMMJJ (soit 20070920 pour aujourd'hui)
CHIFFRE2 ne représente pas gd chose, il est juste bon a savoir, que plus ce numéro est grand, plus le fichier est récent.

IMPORTANT : Dans le répertoire en question, il est (possible) probable, qu'il y ait plusieurs fichiers CSV sous le même format....

Mon objectif : Importer le fichier le plus récent du répertoire d:/data/

Je sais faire l'importation, mais le test sur les noms des fichiers, je n'en ait aucune idées...😕🙁

PLEASE Help,

MERCI d'avance

Y
 
Re : Importation d'un fichier dont le nom n'est pas connu

Bonjour



En utilisant Like

L'exemple ci dessous fonctionne

à adapter pour ta macro

Code:
Sub test()
Dim x As String
Dim y As String
x = "SERVEURS_csv_20070920_CHIFFRE2.CSV"
y = Format(Date, "yyyymmdd")
If x Like "SERVEURS_csv_*" And Mid(x, 14, 8) = y Then
MsgBox "Fichier OK"
Else
MsgBox "Fichier Pas OK"
End If
End Sub
 
Dernière édition:
Re : Importation d'un fichier dont le nom n'est pas connu

Je suis aller maté l'aide sur la fonction "like", j'avais pas pensé aux * et aux #,

mais le PB, c'est que je dois faire deux test :

vérifier si le fichier est bien d'aujourd'hui (ie : = CHIFFRE1)

ET

si il y en a 2 d'aujourd'hui, je prend celui dont le CHIFFRE2 est le plus grand

et là par contre je sais pas du tout comment faire........


EDIT : pardon, tu étais en train d'editer ton post quand j'écrivais celui là... j'essaye ton truc et je te tiens au courant, merci !!!!
 
Re : Importation d'un fichier dont le nom n'est pas connu

Merci straple,

Modification de programme : finalement le fichier n'est pas sur un disque local ou réseau, mais sur un serveur http intranet (pas de dossier partagé)

donc je devrais faire la même chose mais à l'adresse http://mesdonnées/SERVEURS_csv_CHIFFRE1_CHIFFRE2.CSV

Et là par contre je sais pas si on peut scanner les différents noms de fichiers...

la même méthode est-elle utilisable?

OU sinon, est-ce qu'on peut prendre le premier csv trouver (je ferais en sorte que ce soit le seul a cette adresse)

Merci

????
 
Re : Importation d'un fichier dont le nom n'est pas connu

par exemple, pour importe ma table, j'ai ça :

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;http://xxxx/SERVEURS_csv_20070920_152413064.CSV" _
, Destination:=Range("A1"))
.Name = "SERVEURS_csv_20070920_152413064"

je pourrai faire un truc du genre :

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;http://xxxx/SERVEURS_csv_" & DATE & "_" & * .CSV _
, Destination:=Range("A1"))
.Name = "SERVEURS_csv_" & DATE & "_" & * .CSV"

A savoir qu'il faudrait un variable DATE.

Je suis certain que la synthaxe est fausse, mais c'est l'idée que je m'en fait, si vous pensez que ça peut marcher, merci de m'aider

++
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour