Copier les fichiers cochés ds un TreeView dans un ListView en VBA

macroVB Messages postés 26 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 11 mai 2007 - 13 nov. 2006 à 17:56
macroVB Messages postés 26 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 11 mai 2007 - 14 nov. 2006 à 18:17
Bonjour tous,
Je liste dans mon Treeview le contenu d'un répértoire, et a partir de mon TreeView les checkbox cochés j'essaye de les mettre dans une ListView pour les ouvrir en clickant dessus a partir du code genre

If TreeView1.ListItems(n).Checked = True Then
   ListViewListeFichiers.Text
End if 
  
et apres une fois selectionner un fichier dans la ListView1 l'ouvrir

NFichier= ListView1.ListItems.Count
For n = 1 To NFichier
  If ListView1.ListItems(n).Checked = True Then
    OpenFile
  End If
Next

   mais jusqu'au la j'ai pas reussis , ce n'est pas si facile que ça !

j'ai essayé ce code :

Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node)
ListView1.ListItems.Clear

Dim fic As String
    Dim rep As String
    rep = Node.FullPath
    If Right(rep, 1) <> "" Then rep = rep & ""
    
      Dim fld As Folder
    Set fld = fso.GetFolder(rep)
    Dim f As File
    For Each f In fld.Files
        Dim li As ListItem
        Set li = ListView1.ListItems.Add(, , f.Name, "File", "Leaf")
        li.ListSubItems.Add Key:="Size", Text:=f.Size
        li.ListSubItems.Add Key:="Date", Text:=f.DateLastModified
    Next   
End Sub

ca plante avec un message d'erreur comme quoi le chemin d'accés est introuvable en se pointant sur la ligne
"Set fld = fso.GetFolder(rep)"
Je ne sais pas trop comment faire pour éviter ce poblème?

quelqu'un peut etre a une idée ?

Merci de vos réponses .

4 réponses

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
13 nov. 2006 à 19:13
Bonsoir,
Fais des points d' arrêt :
rep = Node.FullPath
MsgBox rep
If Right(rep, 1) <> "" Then rep = rep & ""
MsgBox rep
Ainsi tu pourras savoir si c' est seulement une question
de synthaxe...
0
macroVB Messages postés 26 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 11 mai 2007
14 nov. 2006 à 16:28
Bonsoir chaibat,
en fait je pense l'erreur vient de la déclaration de fso:
"Private fso As New FileSystemObject"
il ne l'accepte pas!, la class FileSystemObject n'existe pas en VBA plutot en VB , mais je ne sais pas par quoi on peux la remplacer ?!
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
14 nov. 2006 à 17:59
Bonjour,
Il faudrait ajouter une référence à
Microsoft Scripting Runtime.
Dans Menu/Outils/Reference  , coches la case correspondante
Pour plus d' info, regardes de ce côté-ci :
http://faq.vb.free.fr/index.php?question=31

Bon courage...
0
macroVB Messages postés 26 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 11 mai 2007
14 nov. 2006 à 18:17
ok merci, j'essayerai cela
Bonne soirée .
0
Rejoignez-nous