Vb6+recuperer le nom de fichier

Résolu
spootnic22
Messages postés
84
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
30 janvier 2010
- 14 nov. 2006 à 10:43
spootnic22
Messages postés
84
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
30 janvier 2010
- 14 nov. 2006 à 16:39
Salut,
J'ai un dossier qui contient par exemple 6 fichiers :file1.html ,file2.html, file3.html, file4.html,file5.html,file6.html
Comment je peux récuperer le nom du drenier fichier "file6.html"
Merci.

6 réponses

PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
14 nov. 2006 à 16:23
spootnic22
, 2e fois, merci de donner suite à tes topics !




http://www.codyx.org/snippet_lister-tous-fichiers-repertoire_198.aspx










Private Sub 
Command1_Click()

    Dim aResultat() As String
    Dim lRet As Long

    lRet =  GetFilesPathFromDirectory(App.Path, aResultat(),
"file*.html")
    If lRet <> -1 Then MsgBox aResultat(lRet)
End Sub

Function GetFilesPathFromDirectory(ByVal sDir As String, ByRef aRet() As String, Optional ByVal sFilter As String = "*.txt") As Long
'  
GetFilesPathFromDirectory retourne -1 si aucun fichier trouvé
'   sinon retourne la dimension du tableau, donc NB fichiers -1
(tableau commence à l'indice 0)

'   init les
résultats
    GetFilesPathFromDirectory = -1
    Erase aRet
    If RightB$(sDir, 2) <> "" Then sDir = sDir & ""

'   formate le
chemin
    Dim sFile As String, lIndex As Long
    sFile = Dir(sDir & sFilter, vbHidden Or
vbSystem)

'  
redimentionne après vérif premier fichier
    If sFile <> vbNullString Then
        lIndex = 0
        ReDim aRet(lIndex)
        aRet(lIndex) = sDir & sFile
        sFile = Dir

'       boucle sur tous les fichiers
        Do While sFile <> vbNullString
            lIndex = UBound(aRet) + 1
            ReDim Preserve aRet(lIndex)
            aRet(lIndex) = sDir & sFile
            sFile = Dir
        Loop

'      
retour
        GetFilesPathFromDirectory = lIndex
    End If
End Function





<small>Coloration
syntaxique automatique [AFCK] </small>

       

<hr size ="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
3
lilo44
Messages postés
174
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
15 février 2007
2
14 nov. 2006 à 10:56
0
drikce06
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
14 nov. 2006 à 10:56
Salut, fais une recherhce sur le site et sur codyx et tu trouvera la réponse à ta question.

 Drikce 06
0
cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
20
14 nov. 2006 à 10:57
Tes fichiers commencente par File, donc 4 caractères

Et ils finissent par .html, donc 5 caractères.

Tu peux donc utiliser la fonction MID pour lire à partir du 5e caractère sur la longueur du nom moins 9 caractères...

Pas clair ? regarde dans l'aide et fais des tests...

MPi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
14 nov. 2006 à 11:00
Utilise dir avec "file*.html" , dans une boucle , et mid (nom_du_fichier_trouvé, 5, len(nom_du_fichier_trouvé)- 9) pour extraire le n° et ne garde le n° que s'il est supérieur au précédent.

PS : je te précise que dans l'expression plus haut, 9 = longueur de ".html" + longueur de "file",
0
spootnic22
Messages postés
84
Date d'inscription
mardi 31 octobre 2006
Statut
Membre
Dernière intervention
30 janvier 2010

14 nov. 2006 à 16:39
Salut,
Merci bcp PCPT.
ca marche très bien
Merci pour une deuxième fois.
A++
0