Obtenir le nom des fichiers d'un repertoire donné ?

Obtenir le nom des fichiers d'un repertoire donné ? - VB/VBA/VBS - Programmation

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

Reply

Marsh Posté le 30-06-2003 à 19:00:30   

Reply

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.


---------------
News info, scientifiques, actualités : www.9minutes.com
Reply

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 [:meganne]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

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.


---------------
News info, scientifiques, actualités : www.9minutes.com
Reply

Marsh Posté le 01-07-2003 à 19:34:15    

Comment se compliquer la vie quand on peut faire simple :sarcastic:
 
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

Reply

Marsh Posté le 01-07-2003 à 20:22:27    

ben c'est plus compliqué ton truc :o
et un poil moins portable :o
 
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 :D)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

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.

Reply

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) :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

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.
 
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.


 
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!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed