On voit que l'extension des fichiers dans un ListView

Résolu
GuyFALESSE Messages postés 61 Date d'inscription samedi 19 février 2005 Statut Membre Dernière intervention 18 novembre 2012 - 24 mars 2005 à 17:06
GuyFALESSE Messages postés 61 Date d'inscription samedi 19 février 2005 Statut Membre Dernière intervention 18 novembre 2012 - 24 mars 2005 à 21:04
Bonjour à tous,

Dans le fond de cette fonction, il y a du code d'un ListView, j'arrive à voir les chemins, mais pas le nom du fichier, seulement les extensions, si quelqu'un pouvait m'aider, ça m'arrangerait fortement.
D'avance merci

Guy FALESSE

Sub RecurseTree(CurrentPath As String)
Dim intN As Integer, intDirectory As Integer, intlngch As Integer
Dim strFileName As String, strDirectoryList() As String, strtemp As String
Dim LaDate As Date, leMax
'Lister d'abord tous les fichiers normaux de ce répertoire
strFileName = Dir(CurrentPath)
Do While strFileName <> ""
'
intlngch = Len(strFileName) - 2
If intlngch > 3 Then
'Recuperation de l'extension du fichier dasn la chaine strtemp
strtemp = Mid(strFileName, intlngch, 3) If (strtemp "zip" Or strtemp "mdb" Or strtemp = "rar" Or strtemp = "ace" Or strtemp = "exe") Then
strFileName = Mid(strFileName, 1, (intlngch - 2))
'pour le stockage dans une base access
rc.AddNew
rc![ID] = Val(Me.txtID)
rc![File_Name] = strFileName & "." & strtemp
rc![File_Path] = CurrentPath
rc![Taille] = FileLen(CurrentPath & strFileName & "." & strtemp) & " bytes"
rc![DateCréation] = FileDateTime(CurrentPath & strFileName & "." & strtemp)
rc![MotClé] = Me.txtMotClé
rc![NCase] = Val(Me.txtNCase)
rc![Observation] = Me.txtObservation
rc.Update

End If
End If
strFileName = Dir
Loop
'Puis construire une liste temporaire des sous-répertoires
strFileName = LCase(Dir(CurrentPath, vbDirectory))
Do While strFileName <> ""
'Ignorer le répertoire en cours, le répertoire parent, et
'le fichier page de Windows NT
If strFileName <> "." And strFileName <> ".." And _
strFileName <> "pagefile.sys" Then
'Ignorer les fichiers qui ne sont pas des répertoires
If GetAttr(CurrentPath & strFileName) _
And vbDirectory Then
intDirectory = intDirectory + 1
ReDim Preserve strDirectoryList(intDirectory)
strDirectoryList(intDirectory) = CurrentPath _
& strFileName
End If
End If
strFileName = Dir
'Traiter les autres événements
DoEvents
Loop
'Traiter récursivement tous les répertoires
For intN = 1 To intDirectory
RecurseTree strDirectoryList(intN) & ""
Next intN
'=========================================================================
Me.ListView1.ListItems.Add , , strFileName & "." & strtemp
Me.ListView1.ListItems(Me.ListView1.ListItems.Count).ListSubItems.Add , , CurrentPath
Me.ListView1.View = lvwReport
Me.ListView1.FullRowSelect = True
End Sub

Guy FALESSE

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 mars 2005 à 19:55
Salut

bah simplement parce que strFileName est un répertoire, pas un fichier, c'est ce que tu as écrit !
strFileName = LCase(Dir(CurrentPath, vbDirectory))

Vala
Jack
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
3
GuyFALESSE Messages postés 61 Date d'inscription samedi 19 février 2005 Statut Membre Dernière intervention 18 novembre 2012
24 mars 2005 à 20:19
Salut Jack,

C'est bien gentil d'avoir mis la main sur mon erreur, problème, comment dois-je la corriger?
C'est le but du jeu, sinon, dans longtemps, ke serai encore au même point, j'apprends tout doucement.
D'avance merci

Guy FALESSE
3
GuyFALESSE Messages postés 61 Date d'inscription samedi 19 février 2005 Statut Membre Dernière intervention 18 novembre 2012
24 mars 2005 à 21:04
Re

Voilà, j'ai déplacé ces 2 lignes juste en-dessous de VC Update et ça fonctionne.

Me.ListView1.ListItems.Add , , strFileName & "." & strtemp
Me.ListView1.ListItems(Me.ListView1.ListItems.Count).ListSubItems.Add , , CurrentPath

Qui cherche trouve mais parfois, c'est vraiment la galère.
Guy FALESSE
3
Rejoignez-nous