Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1381 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°444484
fabland
Posté le 30-06-2003 à 19:00:30  profilanswer
 

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

mood
Publicité
Posté le 30-06-2003 à 19:00:30  profilanswer
 

n°444746
specimen
Posté le 30-06-2003 à 23:30:26  profilanswer
 

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
n°445024
drasche
Posté le 01-07-2003 à 11:43:05  profilanswer
 

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)
n°445285
specimen
Posté le 01-07-2003 à 15:55:29  profilanswer
 

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
n°445527
MagicBuzz
Posté le 01-07-2003 à 19:34:15  profilanswer
 

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

n°445568
drasche
Posté le 01-07-2003 à 20:22:27  profilanswer
 

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)
n°445618
MagicBuzz
Posté le 01-07-2003 à 21:09:19  profilanswer
 

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.

n°445629
drasche
Posté le 01-07-2003 à 21:23:24  profilanswer
 

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)
n°446283
Yoyo@
Posté le 02-07-2003 à 13:57:08  profilanswer
 

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!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 

Sujets relatifs
[PHP] obtenir le nombre de resultat a une req SQLZipper des fichiers sous delphi
Comment obtenir des nombres aléatoires mais seulement des entiers ?Fichiers HTML compilés
contenu des fichiers du projet (.cfg, .dof, .dsk, ...)automatiser une copie de répertoire ..sur un reseau
[SQL] Requête pour obtenir la liste des tables [résolu][SGBD] Pour réaliser un gestionnaire de fichiers clients...
[ java ] transfert de fichiers dans un socketruntime.exec() d'une fonction dans un autre répertoire ... [Résolu]
Plus de sujets relatifs à : Obtenir le nom des fichiers d'un repertoire donné ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR