Obtenir le nom des fichiers d'un repertoire donné ? - VB/VBA/VBS - Programmation
Marsh Posté le 30-06-2003 à 23:30:26
la fonction dir$ retourne le premier nom de fichiers en précisant le chemin et les attributs cherchés. Ensuite utilise dir$ sans paramètre dans une boucle pour rechercher les suivants.
Marsh Posté le 01-07-2003 à 11:43:05
hum, la fonction Dir$ n'existe pas, c'est plutôt Dir avec l'opérateur $ derrière mais ne sert vraiment à rien dans le cas présent
Marsh Posté le 01-07-2003 à 15:55:29
Exact ca doit être dir
Fichier=dir("c:\toto" )
do while len(Fichier)>0
'traitement
Fichier=dir
loop
Ca doit marcher ca pour traiter tous les noms de fichiers de c:\toto. C'est peut être "c:\toto\*.*", faut tester.
A moins que je n'ai pas compris le problème.
Marsh Posté le 01-07-2003 à 19:34:15
Comment se compliquer la vie quand on peut faire simple
dim fso, fol, fil
set fso = CreateObject("Scripting.FileSystemObject" )
set fol = fso.getFolder("c:\toto" )
for each fil in fol.Files
msgbox "Fichier " & fil.name
next
Marsh Posté le 01-07-2003 à 20:22:27
ben c'est plus compliqué ton truc
et un poil moins portable
le MS scripting runtime est surtout prévu pour les applis web, j'ai été interdit de l'utiliser dans une application de production (par Dieu lui-même mais là ça devient private joke )
Marsh Posté le 01-07-2003 à 21:09:19
FSO est tout à fait portable, il est fourni avec IE depuis la version 4, donc la plupart des Win95 le supportent, surtout si tu tournes avec Office 97 ou plus, qui l'installent eux-même sans rien te demander.
Ton truc "dir", t'ira me le faire tourner sur tous les Office 97... Parceque vu que M$ a eu la brillante idée de traduire toutes les fonctions VBA dans la langue de distribution de ce dernier, bah j'ai quelques rétiscences à utiliser les fonctions VBA, surtout si c'est pour bosser avec Office 97.
Sinon, en effet, j'avais mal lu le script (c'est ça de mal nommer ses variables)
Je croyais que Dir() retournait un pointeur sur un fichier ce qui me semblait vraiment lourd
M'enfin je préfère FSO, parcequ'avec lui au moins, tu peux :
- Accéder au réseau sans passer par un lecteur réseau
- Obtenir un très grand nombre d'infos sur les fichiers, genre leur type mime, leur nom absolu (avec le path), le taille, etc.
Marsh Posté le 01-07-2003 à 21:23:24
perdu c'est Office 95, et là je peux pas me tromper parce que je bosse avec les deux (contrainte client)
Marsh Posté le 02-07-2003 à 13:57:08
MagicBuzz a écrit : FSO est tout à fait portable, il est fourni avec IE depuis la version 4, donc la plupart des Win95 le supportent, surtout si tu tournes avec Office 97 ou plus, qui l'installent eux-même sans rien te demander. |
Ah bon? Bizarre... Je sais que par exemple, dans les versions francais de Office, on va avoir je crois la fonctions "EstNull", mais si tu mets "IsNull" à la place, ca marche également!
Donc, je pense que quelqu'un qui programme avec une version anglais d'Office n'aura jamais aucun probleme de portabilité? Dites moi si je me trompe!
Marsh Posté le 30-06-2003 à 19:00:30
Je travail sous Excel 2000 et j'aimerai savoir s'il existe une methode en VBA me permettant d'obtenir tous les noms des fichiers qui sont contenus dans un repertoire donné?
Pourriez me venir en aide?
Merci par avance