Lister des fichiers dans une listbox

  • Initiateur de la discussion LaurentG
  • Date de début
L

LaurentG

Guest
Bonjour,

J'ai une macro qui doit me lister la liste des fichiers word se trouvant dans un repertoire. Et me mettre cette liste dans une listbox.

voici le code que j'ai essayé (et qui ne fonctionne pas) :

Code:
Private Sub OK2_Click()
numerobv = num.Value

chemin = 'K:\\Tservice\\Testing\\' & numerobv
fichier = Dir(chemin & '*.doc')
Do While Not fichier = ''
inser_macro.list_macro.List(inser_macro.list_macro.ListCount - 1, 1) = fichier
Loop
Unload Me
inser_macro.Show
End Sub

Petite précision : le code ci-dessus est une macro sous Word. Mais je pense que si j'arrive à faire la macro pour Excel, je peux l'adapter assez facilement pour Word.

Quelqu'un peut m'aider?

Merci beaucoup

Laurent
 
S

sunny

Guest
Bonjour,

Voici pour la boucle : Remplacer ComboBox1 par le nom de ta liste déroulante

Do While Not fichier = ''
ComboBox1.AddItem fichier
'inser_macro.list_macro.List(inser_macro.list_macro.ListCount - 1, 1) = fichier
fichier = Dir
Loop
 

Gorfael

XLDnaute Barbatruc
Salut
Je viens de faire ça sous word :
Code:
Sub Macro1()
    Dim Str_Chemin As String
    Dim X As Integer
    Dim Fichier_En_Cours As Variant
    Dim Str_Test As String
    Dim fs, fc As Variant
    
    Str_Chemin = CurDir
    Set fs = CreateObject('Scripting.FileSystemObject')
    Set fc = fs.GetFolder(Str_Chemin).Files
    For Each Fichier_En_Cours In fc
        If Right(Fichier_En_Cours.Name, 3) = 'doc' Then
            Str_Test = Str_Test & Fichier_En_Cours.Name & vbCrLf
        End If
    Next
    MsgBox Str_Test
End Sub
Comme c'est de l'adaptation d'un exemple de l'aide de word, tout ce qui est en variant me semble nébuleux. Mais ça marche ! ! !
Si quelqu'un pouvait éclairer ma lanterne, ça m'aiderais, ayant horreur de ne pas comprendre ce que je fais et devoir l'appliquer bêtement me donne des boutons ! ! :eek:
A+
 

MichelXld

XLDnaute Barbatruc
bonjour à tous

Gorfael , tu peux remplacer les Variant par

Dim Fichier_En_Cours As Object
Dim fs As Object, fc As Object




sinon , en activant la reference Microsoft Scripting RunTime , tu peux aussi ecrire


Dim Str_Chemin As String
Dim X As Integer
Dim Fichier_En_Cours As Scripting.File
Dim Str_Test As String
Dim fs As Scripting.FileSystemObject
Dim fc As Scripting.Files


Str_Chemin = CurDir
Set fs = CreateObject('Scripting.FileSystemObject')
Set fc = fs.GetFolder(Str_Chemin).Files
For Each Fichier_En_Cours In fc

If Right(Fichier_En_Cours.Name, 3) = 'doc' Then
Str_Test = Str_Test & Fichier_En_Cours.Name & vbCrLf
End If
Next
MsgBox Str_Test




bonne soirée
MichelXld
 

Gorfael

XLDnaute Barbatruc
Salut MichelXld, et merci de m'avoir répondu

Le véritable problème est que variant ou object, ça ne permet pas de définir à quelle collection ils appartiennent. Comme chaque collection à ses propriétés propres, et des fois c'est important de savoir laquelle utiliser.

Microsoft Scripting RunTime


Dim Fichier_En_Cours As Scripting.File
Dim fs As Scripting.FileSystemObject
Dim fc As Scripting.Files

J'arrive à les utiliser, mais je ne comprends
pas ce que c'est. Et l'aide de microsoft, .... On ne doit pas avoir les mêmes notions de ce que signifie ce mot outre-atlantique.

En fait, j'arrive presque toujours à adapter un code à mes besoins, mais si je ne comprends pas, il faut que je galère à chaque fois pour retrouver le code. Quand je comprends, je mémorise nettement mieux.
A+
 

Discussions similaires

Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
312 338
Messages
2 087 393
Membres
103 537
dernier inscrit
alisafred974