Option Explicit
Dim tvn As Node
Private Sub CommandButton1_Click()
Dim monrep As String
TreeView1.Nodes.Clear
' on définit ici le répertoire à "déployer"
monrep = "C:\Users\Christian\Documents\POINTAGES"
If Right$(monrep, 1) <> "\" Then monrep = monrep$ + "\"
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
If Right$(chemin, 1) <> "\" Then chemin = chemin & "\"
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
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPublic tvn As Node
Public Sub deployons(O As Object, ByVal chemin As String, montv As Object, quoi As String, ficflt As String, dosflt As String)
If Right$(chemin, 1) <> "\" Then chemin = chemin$ + "\"
montv.Nodes.Clear
MsgBox "oui"
Set tvn = montv.Nodes.Add(, vbNullString, chemin, chemin)
deployons1 O, chemin, montv, quoi, ficflt, dosflt
End Sub
Private Sub deployons1(ByVal O As Object, ByVal chemin As String, montv As Object, quoi As String, ficflt As String, dosflt As String)
Dim nomfic As String, numfic As Integer, tp As String, i As Integer
If Right$(chemin, 1) <> "\" Then chemin = chemin & "\"
nomfic = Dir$(chemin, vbDirectory)
numfic = 1
Do While nomfic <> ""
If nomfic <> "." And nomfic <> ".." Then
tp = chemin & nomfic
If (GetAttr(tp) And vbDirectory) And (quoi = "D" Or quoi = "DF") And nomfic Like dosflt Then
Set tvn = montv.Nodes.Add(chemin, tvwChild, tp + "\", nomfic)
deployons1 O, tp, montv, quoi, ficflt, dosflt
nomfic = Dir$(chemin, vbDirectory)
For i = 2 To numfic
nomfic = Dir$
Next
ElseIf (quoi = "DF" Or quoi = "F") And nomfic Like ficflt Then
Set tvn = O.TreeView1.Nodes.Add(chemin, tvwChild, tp, nomfic)
End If
End If
nomfic = Dir$: numfic = numfic + 1
Loop
End Sub
Private Sub CommandButton2_Click()
Dim monrep As String, filtre_fichier As String, filtre_dossier As String, quoi As String
monrep = "d:\monoutil\" ' on définit ici le répertoire à "déployer"
quoi = "DF"
' quoi = "D"
'quoi = "F"
filtre_fichier = "*.*"
filtre_dossier = "*ra*"
deployons Me, monrep, TreeView1, quoi, filtre_fichier, filtre_dossier
End Sub
Private Sub TreeView1_DblClick()Voilà.
MsgBox TreeView1.SelectedItem.FullPath
End Sub
9 déc. 2013 à 16:38
Il y a un fichier exemple à télécharger
http://silkyroad.developpez.com/VBA/XlOrganigramme/