FileListBox [Résolu]

Signaler
Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
11 avril 2013
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
Bonjour,


je souhaiterai afficher dans une filelistbox la 'date de modification des fichiers'
à l'identique de l'explorateur.

Est ce possible ou bien faut il utiliser un autre moyen ?

Merci d'avance pour toute votre aide,


 

13 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
salut,

tu ne peux pas avec un filelistbox : propriété .List(X) en lecture seule
préfère une listboxou un listview


++

PCPT  [AFCK]
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
23
Non (le tri) il est pour l'instant dans l'odre inverse :
 ListView1.SortOrder >> de la plus ancienne à la plus récente

mets-le

 ListView1.SortOrder = 1    si tu veux de la plus récente à la plus ancienne...
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
23
Quel est ton problème ?
Ton titre est "FileListBox" !
Ma conclusion, donc :
- tu sais extraire cette date de modification
- ton problème est son ajout dans une FileListBox !

Ma réponse dans ce cas : utilise nom_de_ta_listbox.additem.

Si ce n'est pas ce que tu attendais, c'est que ni ton titre ni la rédaction de ta question ne sont adaptés ....
Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
11 avril 2013
1
est tu sur qu'un filelistbox gère la propriété 'additem' ?

merci beaucoup pour ton aide jmfmarques !!!
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
23
Re bonjour, Tulesais,

Tu as raison (excuse-moi, j'avais l'esprit occupé ailleurs et je n'ai pas fait attention...)

Bon...

Le problème va en effet être celui de l'affichage....

Je vais voir la mer (c'est l'heure), y réfléchir et essayer de trouver un bon substitut....(une listview, probablement)

Accepte mes excuses, en attendant...
Amitiés.
Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
11 avril 2013
1
ok ! merci beaucoup !

je vais tenter ca !
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
23
Ho Ho ! (de retour)

Tu as déjà fait ou je te fais çà maintenant ? (compter 10 minutes) ?
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
23
Plus là !

Bon...

J'ai pour l'instant fait simple (avec une listbox seeulement) :

sur ta form :
une driveBox Drive1
une dirlistbox Dir1
une listbox List1

code :

Private Sub Dir1_Change()
  List1.Clear
  fichier = Dir(Dir1.Path & "\*.*")
  Do While fichier <> ""
    List1.AddItem fichier & vbTab & FileDateTime(Dir1.Path & "" & fichier)
    fichier = Dir
  Loop
End Sub


Private Sub Drive1_Change()
  Dir1.Path = Drive1.Drive
End Sub

tu lances
double click pour changer de répertoire
tu vois...

Si celà t'intéresse, je le fais avec une listview ("plus mieux" car celà te permettrait de trier par date en plus)

une
Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
11 avril 2013
1
wouah !!!

avec un tri par date ce serait génial, si cela ne te dérange pas !!!

bravo et merci beaucoup jmfmarques !!!!!!!!!!!!!!!!
Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
11 avril 2013
1
Wouah...

un grand Bravo merci beaucoup jmfmarques !!!


si cela ne te dérange pas ... avec un tri par date ce serait le top !


 


merci encore pour toute ton aide !
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
23
Voilà donc :

Par contre, il m'a fallu, pour des raisons de tri, afficher la date sour la forme "AAAA/MM/JJ" et pas sous la forme "JJ/MM/AAAA"

Je t'ai fait là un tri descendant (de la date la plus récente à la date la plus ancienne) mais tu peux faire l'inverse en modifiant sortorder

sur ta form :
une driveBox Drive1
une dirlistbox Dir1
une listbview Listview1


code:


Private Sub Dir1_Change()
  ListView1.ListItems.Clear
  fichier = Dir(Dir1.Path & "\*.*")
  Do While fichier <> ""
    Set itmX = ListView1.ListItems.Add(, , fichier)
       itmX.SubItems(1) = Format(FileDateTime(Dir1.Path & "" & fichier), "yyyy/mm/dd hh:mm:ss")
    fichier = Dir
  Loop
End Sub


Private Sub Drive1_Change()
  Dir1.Path = Drive1.Drive
End Sub




Private Sub Form_Activate()
    ListView1.ColumnHeaders.Add , , "Fichiers", ListView1.Width / 1.5
    ListView1.ColumnHeaders.Add , , "Date/création", ListView1.Width / 5, lvwColumnCenter
    ListView1.View = lvwReport
    ListView1.SortOrder = 0
    ListView1.Sorted = True
    ListView1.SortKey = 1
End Sub


 
Messages postés
177
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
11 avril 2013
1
MERCI BEAUCOUP !!!
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
23
Je suis vraiment un âne, aujourd'hui !

Voilà de quoi t'afficher les dates à la française tout en les triant :

Private Sub Dir1_Change()
  ListView1.ListItems.Clear
  fichier = Dir(Dir1.Path & "\*.*")
  Do While fichier <> ""
    Set itmX = ListView1.ListItems.Add(, , fichier)
       itmX.SubItems(1) = FileDateTime(Dir1.Path & "" & fichier)   'cette date sera la seule visible
       itmX.SubItems(2) = Format(FileDateTime(Dir1.Path & "" & fichier), "yyyy/mm/dd hh:mm:ss") 'cette date ne se verra pas et je trierai sur elle

    fichier = Dir
  Loop
End Sub


Private Sub Drive1_Change()
  Dir1.Path = Drive1.Drive
End Sub




Private Sub Form_Activate()
    ListView1.ColumnHeaders.Add , , "Fichiers", ListView1.Width / 1.5 
    ListView1.ColumnHeaders.Add , , "Date/création", ListView1.Width / 5, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "Date/création", 0  '    cette colonne ne se verra pas et je trierai sur elle
    ListView1.View = lvwReport
    ListView1.SortOrder = 1
    ListView1.Sorted = True
    ListView1.SortKey = 2  ' je trie sur les dates à l'américaine (non affichées)
End Sub