Bonjour à tous,

J'ai récupéré le code ci dessous dans la FAQ et j'essaye de l'adapter à mon application.
Il s'agit de retrouver dans une listview les fichiers contenus dans un répertoire choisi dans le treeview.
Seulement voilà, pas de problème pour accéder à la racine, mais dès que je "descends" le programme plante et m'indique le chemin + \\ + nom du répertoire . J'ai beau chercher, mes connaissances en treeview étant maigres je ne trouve pas la solution.

Pourriez vous m'aider s'il vous plait !?

Merci beaucoup.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
 
Private Sub UserForm_Initialize()
 
    'Définit les entêtes de colonnes
    With ListView1
        With .ColumnHeaders
            .Clear 'Supprime les anciens entêtes
 
            'Ajout des colonnes
            .Add , , "Nom fichier", 200
         '   .Add , , "Taille", 40, lvwColumnRight
         '   .Add , , "Créé le", 60, lvwColumnCenter
         '   .Add , , "Modifié le", 60, lvwColumnCenter
         '   .Add , , "Commentaires", 200, lvwColumnLeft
        End With
 
    .View = lvwReport 'affichage en mode Rapport
    .Gridlines = True 'affichage d'un quadrillage
    .FullRowSelect = True 'Sélection des lignes comlètes
    End With
End Sub
 
Private Sub CommandButton2_Click()
    Dim monrep As String
    Dim tvn As Node
 
    TreeView1.Nodes.Clear
    ' on définit ici le répertoire à "déployer"
    monrep = "K:\Dptms\MFABRICATION\PRV\Encadrement de jour\Tableau de bord 2011\"
 
    If Right$(monrep, 1) <> "\" Then
        monrep = monrep$ + "\"
    End If
 
    Set tvn = TreeView1.Nodes.Add(, vbNullString, monrep, monrep)
    deployons monrep
End Sub
 
 
Sub deployons(ByVal chemin As String)
  Dim nomfic As String, numfic As Integer, tp As String, i As Integer
  Dim tvn As Node
 
  If Right$(chemin, 1) <> "\" Then
    chemin = chemin & "\"
  End If
  nomfic = Dir$(chemin, vbDirectory)
  numfic = 1
 
  Do While nomfic <> ""
    If nomfic <> "." And nomfic <> ".." Then
      tp = chemin & nomfic
      If GetAttr(tp) And vbDirectory Then
        Set tvn = TreeView1.Nodes.Add(chemin, tvwChild, tp + "\", nomfic)
        deployons tp
        nomfic = Dir$(chemin, vbDirectory)
        For i = 2 To numfic
          nomfic = Dir$
        Next
      End If
    End If
    nomfic = Dir$: numfic = numfic + 1
   Loop
End Sub
 
 
'Récupère le chemin du dossier lorsque vous double cliquez sur l'élément
Private Sub TreeView1_DblClick()
   MsgBox TreeView1.SelectedItem.FullPath
 
   ElementsRepertoire TreeView1.SelectedItem.FullPath
End Sub