Je voulais savoir s’il existe une fonction VB6 qui va me permettre de parcourir mon OS à la recherche d’un fichier(s) via son extension et pourquoi pas les lister.
Je voulais savoir s’il existe une fonction VB6 qui va me permettre de parcourir mon OS à la recherche d’un fichier(s) via son extension et pourquoi pas les lister.
ceci, peut-être : http://vb.developpez.com/sources/?pa...onF#scanfolder
Ca marche pas lorsque je modifie la nature de fichier à chercher
Montre-nous ton code qui ne marche pas.
N'oubliez pas de cliquer surquand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
c'est le code:
et l'erreur se place au niveau du code du module
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Private Sub Command1_Click() Text1.Text = SelectFolder("Sélectionner un répertoire", Me.hWnd) End Sub Private Sub Command2_Click() List1.Clear Label1.Caption = "Nombre de fichiers lus : " & ScanFolder(Text1.Text, Text2.Text, Check1.Value <> 0) Screen.MousePointer = vbDefault Me.StatusBar1.Panels(1).Text = "Recherche terminée" End Sub Private Sub Form_Load() Text1.Text = "C:\" Label1.Caption = "Nombre de fichiers lus : " Text2.Text = "bd1.mdb" 'j'ai modifier bd1.mdb par *.bak par exemple End Sub Private Sub Form_Unload(Cancel As Integer) Set fs = Nothing End End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part ScanFolder = fs.GetFolder(FolderPath).Files.Counterreur accés refusé
Bonsoir
A partir du prog "Faire une recherche récursive d'un fichier, ScanFolder.zip de ThierryAim" (le même que toi je supose), j'ai modifié un peu.
j'ai rajouter une variable public MasqRechercher as String
Dans "Private Sub Command2_Click()"
dans "Public Function ScanFolder(FolderPath ..."
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Command2_Click() Screen.MousePointer = vbHourglass List1.Clear MasqRechercher = Replace(Text2, "*", "") ' ********nouveauté Label1.Caption = "Nombre de fichiers lus : " & ScanFolder(Text1.Text, Text2.Text, Check1.Value <> 0) Screen.MousePointer = vbDefault Me.StatusBar1.Panels(1).Text = "Recherche terminée" End Sub
Dans TEXT2 je met "*.mdb"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Public Function ScanFolder(FolderPath As String, Optional Filename As String = "", Optional SubFold As Boolean = True) As Long ' Fonction récursive pour l'exploration des répertoires Dim Element As Variant Dim StrPath() As String On Error Resume Next ' ********nouveauté ScanFolder = fs.GetFolder(FolderPath).Files.Count If Err.Number <> 0 Then On Error GoTo 0: Exit Function ' ********nouveauté For Each Element In fs.GetFolder(FolderPath).Files Form1.StatusBar1.Panels(1).Text = FolderPath If Filename <> "" Then StrPath = Split(Element, "\") 'If InStr(1, StrPath(UBound(StrPath)), Filename) Then _ ' Form1.List1.AddItem Element 'ICI LA DIFFERENCE ' ********nouveauté If InStr(1, StrPath(UBound(StrPath)), MasqRechercher) Then _ Form1.List1.AddItem Element Else Form1.List1.AddItem Element End If DoEvents Next Element If SubFold Then For Each Element In fs.GetFolder(FolderPath).SubFolders ScanFolder = ScanFolder + ScanFolder(Element.Path, Filename, SubFold) Next Element End If End Function
Resultat : toutes les ".mdb" sont mis dans List1
Pour infos au vue de ma signature, tu as 6 discutions ouvertes, pas une seule resolue ?
C'est NOEL, je suis en vacances, donc j'avais le temps ...
Bonsoir
:whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
saut de ligne
OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈
Partager