Bonjour =E0 tous,
Je voudrais savoir quel code permettrait d'obtenir les=20
noms des fichiers contenus dans un r=E9pertoire sans avoir =E0=20
les ouvrir (pour alimenter une Listbox).
Voic le code que j'utilise actuellement et qui marche bien=20
mais qui pr=E9sente l'inconv=E9nient de sa lenteur due =E0=20
l'ouverture des fichiers.
Sub ShowDialog()
select_lead_a_reimprimer.ListBox1.RowSource =3D ""
' Ajoute de noms de fichiers pr=E9sents =E0 la ListBox
With select_lead_a_reimprimer.ListBox1
.RowSource =3D ""
Dim StrChemin As String
Dim StrFichier As String, wkclasseur As Workbook
StrChemin=20
=3D "C:\Base_test\mae\toto\Stock_donn=E9es\stklead\"
StrFichier =3D Dir(StrChemin & "*.xls")
Do While StrFichier <> ""
Set wkclasseur =3D Workbooks.Open
(Filename:=3DStrChemin & StrFichier)
classeur =3D ActiveWorkbook.Name
.AddItem classeur
wkclasseur.Close savechanges:=3DFalse
StrFichier =3D Dir()
Application.StatusBar =3D StrFichier & " trait=E9e"
=20
Loop
End With
select_lead_a_reimprimer.Show
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FxM
Bonjour,
Tu pourrais t'inspirer de ce qui suit (fonction filesearch) : http://www.google.fr/groups?hl=fr&lr=&ie=UTF-8&oe=UTF-8&selm=%23pQDVWrXDHA.1900%40TK2MSFTNGP10.phx.gbl
Sub Filesearch1() With Application.FileSearch .NewSearch .LookIn = "C:windowsmedia" '<== Put your directory here .SearchSubFolders = False '<= setting to recurse directories .Filename = "*.wav" .Execute i = 0 For Each f In .FoundFiles i = i + 1 Cells(i, 1).Select ActiveCell.Value = f ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=Selection Next f End With End Sub
@+ FxM
dan wrote:
Bonjour à tous, Je voudrais savoir quel code permettrait d'obtenir les noms des fichiers contenus dans un répertoire sans avoir à les ouvrir (pour alimenter une Listbox).
Voic le code que j'utilise actuellement et qui marche bien mais qui présente l'inconvénient de sa lenteur due à l'ouverture des fichiers.
Sub ShowDialog() select_lead_a_reimprimer.ListBox1.RowSource = "" ' Ajoute de noms de fichiers présents à la ListBox With select_lead_a_reimprimer.ListBox1 .RowSource = "" Dim StrChemin As String Dim StrFichier As String, wkclasseur As Workbook StrChemin = "C:Base_testmaetotoStock_donnéesstklead" StrFichier = Dir(StrChemin & "*.xls")
Do While StrFichier <> "" Set wkclasseur = Workbooks.Open (Filename:=StrChemin & StrFichier) classeur = ActiveWorkbook.Name .AddItem classeur wkclasseur.Close savechanges:úlse StrFichier = Dir() Application.StatusBar = StrFichier & " traitée"
Loop End With select_lead_a_reimprimer.Show End Sub
merci d'avance.
Bonjour,
Tu pourrais t'inspirer de ce qui suit (fonction filesearch) :
http://www.google.fr/groups?hl=fr&lr=&ie=UTF-8&oe=UTF-8&selm=%23pQDVWrXDHA.1900%40TK2MSFTNGP10.phx.gbl
Sub Filesearch1()
With Application.FileSearch
.NewSearch
.LookIn = "C:windowsmedia" '<== Put your directory here
.SearchSubFolders = False '<= setting to recurse directories
.Filename = "*.wav"
.Execute
i = 0
For Each f In .FoundFiles
i = i + 1
Cells(i, 1).Select
ActiveCell.Value = f
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=Selection
Next f
End With
End Sub
@+
FxM
dan wrote:
Bonjour à tous,
Je voudrais savoir quel code permettrait d'obtenir les
noms des fichiers contenus dans un répertoire sans avoir à
les ouvrir (pour alimenter une Listbox).
Voic le code que j'utilise actuellement et qui marche bien
mais qui présente l'inconvénient de sa lenteur due à
l'ouverture des fichiers.
Sub ShowDialog()
select_lead_a_reimprimer.ListBox1.RowSource = ""
' Ajoute de noms de fichiers présents à la ListBox
With select_lead_a_reimprimer.ListBox1
.RowSource = ""
Dim StrChemin As String
Dim StrFichier As String, wkclasseur As Workbook
StrChemin
= "C:Base_testmaetotoStock_donnéesstklead"
StrFichier = Dir(StrChemin & "*.xls")
Do While StrFichier <> ""
Set wkclasseur = Workbooks.Open
(Filename:=StrChemin & StrFichier)
classeur = ActiveWorkbook.Name
.AddItem classeur
wkclasseur.Close savechanges:úlse
StrFichier = Dir()
Application.StatusBar = StrFichier & " traitée"
Loop
End With
select_lead_a_reimprimer.Show
End Sub
Tu pourrais t'inspirer de ce qui suit (fonction filesearch) : http://www.google.fr/groups?hl=fr&lr=&ie=UTF-8&oe=UTF-8&selm=%23pQDVWrXDHA.1900%40TK2MSFTNGP10.phx.gbl
Sub Filesearch1() With Application.FileSearch .NewSearch .LookIn = "C:windowsmedia" '<== Put your directory here .SearchSubFolders = False '<= setting to recurse directories .Filename = "*.wav" .Execute i = 0 For Each f In .FoundFiles i = i + 1 Cells(i, 1).Select ActiveCell.Value = f ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=Selection Next f End With End Sub
@+ FxM
dan wrote:
Bonjour à tous, Je voudrais savoir quel code permettrait d'obtenir les noms des fichiers contenus dans un répertoire sans avoir à les ouvrir (pour alimenter une Listbox).
Voic le code que j'utilise actuellement et qui marche bien mais qui présente l'inconvénient de sa lenteur due à l'ouverture des fichiers.
Sub ShowDialog() select_lead_a_reimprimer.ListBox1.RowSource = "" ' Ajoute de noms de fichiers présents à la ListBox With select_lead_a_reimprimer.ListBox1 .RowSource = "" Dim StrChemin As String Dim StrFichier As String, wkclasseur As Workbook StrChemin = "C:Base_testmaetotoStock_donnéesstklead" StrFichier = Dir(StrChemin & "*.xls")
Do While StrFichier <> "" Set wkclasseur = Workbooks.Open (Filename:=StrChemin & StrFichier) classeur = ActiveWorkbook.Name .AddItem classeur wkclasseur.Close savechanges:úlse StrFichier = Dir() Application.StatusBar = StrFichier & " traitée"
Loop End With select_lead_a_reimprimer.Show End Sub
merci d'avance.
j
je ne comprends pas bien pourquoi tu tiens à ouvrir tes fichiers ???? ta méthode utilisant dir est parfaite, très rapide, et elle te donne directement le nom du fichier (ton StrFichier) (seul bémol, elle ne te donne pas les fichiers contenus dans les sous-répertoires) il te suffit donc de dire .AddItem StrFichier (et de supprimer les lignes devenues inutiles)
"dan" a écrit dans le message de news: 044601c36a28$70fde770$ Bonjour à tous, Je voudrais savoir quel code permettrait d'obtenir les noms des fichiers contenus dans un répertoire sans avoir à les ouvrir (pour alimenter une Listbox).
Voic le code que j'utilise actuellement et qui marche bien mais qui présente l'inconvénient de sa lenteur due à l'ouverture des fichiers.
Sub ShowDialog() select_lead_a_reimprimer.ListBox1.RowSource = "" ' Ajoute de noms de fichiers présents à la ListBox With select_lead_a_reimprimer.ListBox1 .RowSource = "" Dim StrChemin As String Dim StrFichier As String, wkclasseur As Workbook StrChemin = "C:Base_testmaetotoStock_donnéesstklead" StrFichier = Dir(StrChemin & "*.xls")
Do While StrFichier <> "" Set wkclasseur = Workbooks.Open (Filename:=StrChemin & StrFichier) classeur = ActiveWorkbook.Name .AddItem classeur wkclasseur.Close savechanges:úlse StrFichier = Dir() Application.StatusBar = StrFichier & " traitée"
Loop End With select_lead_a_reimprimer.Show End Sub
merci d'avance.
je ne comprends pas bien pourquoi tu tiens à ouvrir tes fichiers ????
ta méthode utilisant dir est parfaite, très rapide, et elle te donne
directement le nom du fichier (ton StrFichier)
(seul bémol, elle ne te donne pas les fichiers contenus dans les
sous-répertoires)
il te suffit donc de dire
.AddItem StrFichier
(et de supprimer les lignes devenues inutiles)
J@C
"dan" <dan.2@libertysurf.fr> a écrit dans le message de news:
044601c36a28$70fde770$a401280a@phx.gbl...
Bonjour à tous,
Je voudrais savoir quel code permettrait d'obtenir les
noms des fichiers contenus dans un répertoire sans avoir à
les ouvrir (pour alimenter une Listbox).
Voic le code que j'utilise actuellement et qui marche bien
mais qui présente l'inconvénient de sa lenteur due à
l'ouverture des fichiers.
Sub ShowDialog()
select_lead_a_reimprimer.ListBox1.RowSource = ""
' Ajoute de noms de fichiers présents à la ListBox
With select_lead_a_reimprimer.ListBox1
.RowSource = ""
Dim StrChemin As String
Dim StrFichier As String, wkclasseur As Workbook
StrChemin
= "C:Base_testmaetotoStock_donnéesstklead"
StrFichier = Dir(StrChemin & "*.xls")
Do While StrFichier <> ""
Set wkclasseur = Workbooks.Open
(Filename:=StrChemin & StrFichier)
classeur = ActiveWorkbook.Name
.AddItem classeur
wkclasseur.Close savechanges:úlse
StrFichier = Dir()
Application.StatusBar = StrFichier & " traitée"
Loop
End With
select_lead_a_reimprimer.Show
End Sub
je ne comprends pas bien pourquoi tu tiens à ouvrir tes fichiers ???? ta méthode utilisant dir est parfaite, très rapide, et elle te donne directement le nom du fichier (ton StrFichier) (seul bémol, elle ne te donne pas les fichiers contenus dans les sous-répertoires) il te suffit donc de dire .AddItem StrFichier (et de supprimer les lignes devenues inutiles)
"dan" a écrit dans le message de news: 044601c36a28$70fde770$ Bonjour à tous, Je voudrais savoir quel code permettrait d'obtenir les noms des fichiers contenus dans un répertoire sans avoir à les ouvrir (pour alimenter une Listbox).
Voic le code que j'utilise actuellement et qui marche bien mais qui présente l'inconvénient de sa lenteur due à l'ouverture des fichiers.
Sub ShowDialog() select_lead_a_reimprimer.ListBox1.RowSource = "" ' Ajoute de noms de fichiers présents à la ListBox With select_lead_a_reimprimer.ListBox1 .RowSource = "" Dim StrChemin As String Dim StrFichier As String, wkclasseur As Workbook StrChemin = "C:Base_testmaetotoStock_donnéesstklead" StrFichier = Dir(StrChemin & "*.xls")
Do While StrFichier <> "" Set wkclasseur = Workbooks.Open (Filename:=StrChemin & StrFichier) classeur = ActiveWorkbook.Name .AddItem classeur wkclasseur.Close savechanges:úlse StrFichier = Dir() Application.StatusBar = StrFichier & " traitée"
Loop End With select_lead_a_reimprimer.Show End Sub