Aller au contenu

lister le contenu d\'un dossier


Messages recommandés

Posté(e)

Salut à tous,

 

je cherche une commande qui me permettrait de lister le contenu d'un dossier; cette liste, je voudrais ensuite pouvoir l'analyser dans mon programme pour repérer des numéros de fichiers déjà existants afin de mettre à jour un compteur.

 

Existe-il qqchose d'assez simple à exploiter pour réaliser mon problème ??

 

Merci d'avance !

 

Gawel

Posté(e)

Bon,

 

j'ai fait pas mal de recherche sur la toile; j'ai trouvé le code suivant:

 

Dim fso As Scripting.FileSystemObject

Dim fd As Scripting.Folder

Dim fl As Scripting.File

Dim fdCur As Scripting.Folder

Dim sFolderName As String

 

' Initialisation du nom du dossier

sFolderName = "K:\9999\etude\"

 

Set fso = CreateObject("Scripting.FileSystemObject")

' Vérifier que le dossier source existe bien.

If fso.FolderExists(sFolderName) Then

' Récupérer l'instance du dossier.

Set fd = fso.GetFolder(sFolderName)

 

'Lister les sous-dossiers

For Each fdCur In fd.SubFolders

List1.AddItem fdCur.Name

Next fdCur

'Lister les fichiers

For Each fl In fd.files

list2.AddItem fl.Name

Next fl

Else

MsgBox "Dossier non trouvé!"

End If

 

Il a fallu quand même que je charge une nouvelle référence "Microsoft Scripting Runtime" pour pouvoir utiliser ce code. Il reste tout de même un Hic:

par quoi puis-je remplacer le list2 pour pouvoir effectuer une boucle (pour repérer des numéros de fichiers déjà existants afin de mettre à jour un compteur)

 

Merci

 

Gawel

Posté(e)

Salut,

 

tu peux utiliser la fonction Dir(), ca t'éviteras de mettre une référence à "Ms Scripting Runtime" :D , exemple :

 

Disons que le programme stock les fichiers listés dans une listbox nommée "List3"

 

Dim NomFichier as string

Dim NomDossier as string

 

NomDossier = "K:\9999\etude\"

NomFichier = Dir(NomDossier & "*.*")

 

Do While NomFichier <> ""

List3.Additem NomFichier

NomFichier = Dir

Loop

 

Et voilà,

par contre ca ne liste pas les sous-dossiers.

 

Pour comparer ta nouvelle liste de fichier à l'ancienne tu peux par exemple stocker

ta liste de fichiers dans un fichier texte, comme ca lorsque que tu veux faire ta comparaison tu charge fichier texte dans "List2", ensuite tu liste les fichiers de ton dossier dans "List3", et tu n'a plus qu'a comparé "List2" et "List3". A la fin enregistre ta nouvelle liste de fichier dans ton fichier texte.

 

voilà,

@+

Posté(e)

Salut WebTopoNet,

 

je viens d'essayer, c'est nickel !! c'est beaucoup plus léger que le code précédent, en plus sans la référence, merci pour le tuyau !

 

après, j'ai continué mon code sans mettre de liste: j'utilise une boucle qui va scruter les noms des fichiers jusqu'à trouver ce qui m'intéresse, ça me permet aussi de faire quelques vérification d'usage sur les noms des fichiers.

 

@+ !

 

gawel

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité