TreeView et CommonDialog

marc660 Messages postés 171 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 18 juillet 2007 - 11 nov. 2005 à 16:02
marc660 Messages postés 171 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 18 juillet 2007 - 12 nov. 2005 à 17:08
Bonjour



Voila j’ai un gros problème impossible a résoudre.


Je voudrais si sais possible avec un CommonDialog de faire un multi select pour pouvoir ouvrir plusieurs fichiers en même temp. Et les afficher dans un treeview.


Voilà mon code pour l’ouverture d’un fichier et l’affiché dans un treeview.


'Code


Private Sub Ajout_Click()


Dim oNode As Node


Dim tString() As String


Dim i As Integer


With Dialog1


.Filter = _


"Tous(*.*)|*.*"


.FilterIndex = 1


.ShowOpen


If Not Len(.FileName) = 0 Then


tString = Split(.FileName, "")


Set n = Tree.SelectedItem.Child


While Not n Is Nothing


If n.Text = tString(UBound(tString)) Then


Exit Sub


End If


Set n = n.Next


Wend


If (Tree.SelectedItem.Tag <> "") Then Set Tree.SelectedItem = Tree.SelectedItem.Parent


Set oNode = Tree.Nodes.Add(Tree.SelectedItem.Index, tvwChild, , tString(UBound(tString)), 0, 0)


oNode.Tag = .FileName


Tree.SelectedItem.Expanded = True


Tree.SetFocus


End If


End With


End Sub

Merci d'avance

5 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
11 nov. 2005 à 20:23
Pour l'ouverture de plusieurs fichiers :



Dim tablo() As String

Dim l As Long



With CommonDialog1

.Flags = cdlOFNAllowMultiselect

.InitDir = "C:"

.Filter = "(*.*)|*.*"

.ShowOpen

tablo = Split(.FileName, " ", , vbTextCompare)

For l = LBound(tablo) To UBound(tablo)

MsgBox tablo(l)

Next l

End With






Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
11 nov. 2005 à 20:26
Autre possibilité, en gardant l'aspect "explorateur" du commondialog :









Dim tablo() As String

Dim l As Long



With CommonDialog1

.Flags = &H200 Or &H80000

.InitDir = "C:"

.Filter = "(*.*)|*.*"

.ShowOpen

tablo = Split(.FileName, vbNullChar, , vbTextCompare)

For l = LBound(tablo) To UBound(tablo)

MsgBox tablo(l)

Next l

End With


Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
marc660 Messages postés 171 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 18 juillet 2007
12 nov. 2005 à 10:34
Bonjour


Merci pour vos repose
Voila je n’arrive pas a intégrer le résultat dans un TreeView
Avez vous une solution svp
Et merci d'avance

Dim tablo() As String
Dim l As Long
Dim oNode As Node
With CommonDialog1
.Flags = &H200 Or &H80000
.InitDir = "C:"
.Filter = "(*.*)|*.*"
.ShowOpen
tablo = Split(.FileName, vbNullChar, , vbTextCompare)
For l = LBound(tablo) To UBound(tablo)
Set oNode = DirTree.Nodes.Add(DirTree.SelectedItem.Index, tvwChild, , tablo(UBound(tablo)), 0, 0)
Next l
End With
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
12 nov. 2005 à 16:37
au lieu de :

Set oNode = DirTree.Nodes.Add(DirTree.SelectedItem.Index, tvwChild, , tablo(UBound(tablo)), 0, 0)

tapes :

Set oNode = DirTree.Nodes.Add(DirTree.SelectedItem.Index, tvwChild, , tablo(l), 0, 0)

c'est l'élément d'indice l (la lettre l) que tu dois insérer. Là, tu ajoutais toujours le dernier élément du tableau.




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marc660 Messages postés 171 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 18 juillet 2007
12 nov. 2005 à 17:08
Re





Désoler de vous dérangez mais ça ne marche toujours pas j’ai ma DirTree(treeview) vide.


Merci encore
0
Rejoignez-nous