Comment mettre le résultat d'un scan de dossier dans une fenêtre?

Signaler
Messages postés
7
Date d'inscription
mardi 18 mai 2004
Statut
Membre
Dernière intervention
28 mai 2004
-
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
-
Bonjour

J'aimerai savoir comment faire pour pouvoir afficher le résultat d'un scan de dossier, car pour le moment le résultat des fichiers scannés est contenu dans un fichier .txt crée spécilament.
Mais maintenant j'aimerai, que lorsque je clique sur le bouton pour demarrer le scan, qu'à la fin du scan, le résultat de fichiers trouvé s'affiche directement à l'écran dans une fenêtre genre ComboBox ou autre car je ne connais pas bine les autres possibilitées existantes.
Donc j'aimerai connaître le code à utiliser pour pour pouvoir faire cela.

4 réponses

Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
Si tout est déjà inscrit dans un fichier texte, tu parcours le fichier et tu rajoutes chaque ligne dans une ComboBox :

Dim s As String
Dim num As Long

' Ton code qui existe déjà et qui copie tout dans le fichier c:\mon_fichier.txt

num=FreeFile
Open "c:\mon_fichier.txt" For Input As #num
While not EOF(num)
Line Input #num, s
comboBox1.Additem s
Wend
Close #num



Manu
Messages postés
7
Date d'inscription
mardi 18 mai 2004
Statut
Membre
Dernière intervention
28 mai 2004

Ben en faite moi je cherche a ne plus créer le fichier .txt mais que le résultat du scan soit directement dans la fenetre
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
ET bien à chaque fois que tu fais un :

Print #numero, data

pour inscrire ta donnée dans le fichier texte, tu remplaces la ligne de code par :

comboBox1.Additem data

Manu
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
18
Salut, un tit bourt de code pour te donner une piste :

Tu crées une form avec un bouton (command1) et une listbox (list1) et tu testes.

ATTENTION, plus tu es proche de la racine (c:\ ou d:\) et plus ça prendra de temps(qques minutes suivant la taille et l'encombrement de ton disque). Bien sûr, tu choisis le départ avec Dossier_Depart. Il y a aussi un moyen de limiter à une extension prédéfinie (*.txt, *. doc, *.xls, *.exe, .......) mais ça, tu le trouveras tout seul, sinon tu me demandes.

A la place de la listbox, tu peux mettre une combo mais faut remplacer list1 par le nom de ta combo dans le code.
D'abord, Sélectionne "Microsoft Scripting Runtime" dans Projet/Références et puis tu copies le code suivant dans ta form.

Dim fso As FileSystemObject

Private Sub Rechercher_Fichiers(Dossier As String)
Dim fld As Folder
Dim subfld As Folder
Dim fl As File

' Création du FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")

' Set du dossier à parcourir
Set fld = fso.GetFolder(Dossier)

' Listage des fichiers du dossier
For Each fl In fld.Files
List1.AddItem Dossier & fl.Name
Next

' Recherche récursive des fichiers dans les sous-dossiers
For Each subfld In fld.SubFolders
Rechercher_Fichiers Dossier & subfld.Name & ""
Next

End Sub

Private Sub Command1_Click()
Dim Dossier_Depart As String

' Dossier de départ
Dossier_Depart = "C:\windows" ' toujours terminer la chaine par un ""

' Rechercher les fichiers
Rechercher_Fichiers Dossier_Depart

End Sub

Cordialement

CanisLupus