rechercher sur 2 disques

camadian

XLDnaute Junior
Bonjour,
j'ai actuellement une macro qui recherche des fichiers sur un disque

Existe t il un moyen pour que ma macro recherche sur 2 disques différents qui ont la même arborescence.

ci joint ma macro
Sub recup_fic_mes_doc()
Dim chemin As String
Dim fichier As Object
Dim SourceFolderName As String
Dim listeFichiers As Object


Worksheets("Tool_Dossiers").Select


SourceFolderName = Range("A2") & "\TITI\"
ChDir ("D:\" & SourceFolderName)
chemin = ("D:\" & SourceFolderName)

Set listeFichiers = CreateObject("Scripting.filesystemobject").getfolder(chemin).Files
If listeFichiers.Count > 0 Then
For Each fichier In listeFichiers
résultat.ListBox1.AddItem fichier.Name
Next
End If
If listeFichiers.Count = 0 Then
MsgBox "Le répertoire " & vbCrLf & vbCrLf & chemin & vbCrLf & vbCrLf & "est VIDE !", vbCritical, "INFORMATION !"
End If


End Sub:
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : rechercher sur 2 disques

Bonjour camadian,

recopie la partie de la macro et remplace D par la lettre de ton second disque dans ces deux lignes
Code:
ChDir ("[B]D[/B]:\" & SourceFolderName)
chemin = ("[B]D[/B]:\" & SourceFolderName)

à+
Philippe
 

camadian

XLDnaute Junior
Re : rechercher sur 2 disques

Bonjour Philippe,
Je viens de faire le test
mais cela ne fonctionne pas
peut être je me suis mal expliqué
car les données sont soit sur le disque C ou soit sur le disque D
et c'est la ou je pêche
maintenant ce n'est peut etre pas possible ?
A+
didier
 

kjin

XLDnaute Barbatruc
Re : rechercher sur 2 disques

Bonjour,
Code:
r = Range("A2") & "\TITI\"
d = Array("C:\", "D:\") 'mettre ici la liste des lecteurs
Set fs = CreateObject("Scripting.filesystemobject")
For i = LBound(d) To UBound(d)
    pathr = d(i) & r
    If fs.FolderExists(pathr) Then
        Set fld = fs.GetFolder(pathr).Files
        For Each f In fld
            résultat.ListBox1.AddItem f.Name
        Next
    End If
Next
A+
kjin
 

camadian

XLDnaute Junior
Re : rechercher sur 2 disques

MERCI !!!!!
Je ne sais pas si c'est trop demandé
mais ma macro est affecte a un bouton ainsi que que la listebox dans un même Userform si on click plusieurs fois sur la macro il m'écrit la liste autant de fois que j'ai cliqué. existe t il une commande qui empêche ce problème ou faut il passer par un autre Userform
Encore merci
A+
 

kjin

XLDnaute Barbatruc
Re : rechercher sur 2 disques

Re,
Code:
Private Sub CommandButton1_Click()
[COLOR="Blue"]ListBox1.Clear[/COLOR]
r = Range("A2") & "\TITI\"
d = Array("C:\", "D:\") 'mettre ici la liste des lecteurs
Set fs = CreateObject("Scripting.filesystemobject")
For i = LBound(d) To UBound(d)
    pathr = d(i) & r
    If fs.FolderExists(pathr) Then
        Set fld = fs.GetFolder(pathr).Files
        For Each f In fld
            résultat.ListBox1.AddItem f.Name
        Next
    End If
Next

End Sub
A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
312 753
Messages
2 091 673
Membres
105 043
dernier inscrit
Gum110