Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/10/2011, 08h57   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2008
Messages : 45
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 45
Points : 10
Points : 10
Par défaut Problème avec un treeview

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 :
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
Lucky062 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h47.


 
 
 
 
Partenaires

Hébergement Web