Liste de fichiers dans Excel

Résolu/Fermé
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 - 11 nov. 2011 à 18:14
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 - 12 nov. 2011 à 09:53
Bonsoir à tous,

Je vais avoir à faire un travail dans lequel je vais devoir comparer les fichiers contenus dans un répertoire à une liste dans un classeur Excel.
Dans un répertoire je vais avoir environ 2000 photos, chacune ayant un nom différent de la forme suivante "319547654801.Jpeg". Tous les noms de fichiers auront la même forme.
Dans un classeur Excel, sur la feuil1, dans la colonne D je vais avoir la liste de toutes les photos sous la forme suivante "319547654801".Ce que je souhaiterais c'est récupérer, sur la même feuille et dans une autre colonne, ou sur une autre feuille, le nom de tous les fichiers photo et de les comparer pour être sûr d'avoir toutes les photos de la liste Excel.

Pouvez-vous m'aider ?
Cordialement
Mistral
A voir également:

3 réponses

aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
Modifié par aquarelle le 11/11/2011 à 23:38
Bonsoir,

Pour récupérer la liste de tes fichiers jpeg contenus dans un répertoire (que tu choisiras) dans la colonnes F (tu peux adapter si ce n'est pas là que tu souhaites l'avoir), crée un module VBA pour ton classeur et mets y le code suivant :

Sub ListerFichierJPEG()  

Dim Repertoire As String, Fichier As String  
Dim Ws As Worksheet  
Dim i As Integer  
   
Application.ScreenUpdating = False  
   
'Définit la Première feuille du classeur contenant cette macro  
'(pour recevoir les donnée extraites du répertoire).  
Set Ws = ThisWorkbook.Worksheets(1)  
   
'Définit le répertoire de recherche  
Repertoire = ChoixRepertoire & "\"  
'Spécifie la recherche pour le fichiers .jpeg  
Fichier = Dir(Repertoire & "*.jpeg")  
 i = 1  
'Boucle sur les fichiers du répertoire  
Do While Fichier <> ""  
            i = i + 1  
        'Récupère le nom des fichiers jpeg sans l'extension  
         Pos = InStr(1, Fichier, ".", 1)  
         Ws.Cells(i, 5) = Left(Fichier, Pos - 1)  
           
         Fichier = Dir  
Loop  
   
Application.ScreenUpdating = True  
MsgBox "Terminé"  
End Sub  


Function ChoixRepertoire()  
   Dim objShell As Object, objFolder As Object, oFolderItem As Object  
    Dim Chemin As String  
      
    Set objShell = CreateObject("Shell.Application")  
    Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)  
      
    On Error Resume Next  
    Set oFolderItem = objFolder.Items.Item  
    Chemin = oFolderItem.Path  
    ChoixRepertoire = Chemin  
End Function  



Bonne soirée
"Pour trouver une solution à ses problèmes, il faut s'en donner la peine."
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
11 nov. 2011 à 23:57
bonjour Mistral_13200, aquarelle,

J'avais travaillé sur une proposition similaire mais un peu plus lentement :)

Voici le classeur test :

https://www.cjoint.com/?AKlx0ZqF7Fw
0
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
12 nov. 2011 à 00:07
Bonsoir gbinforme,

Ma rapidité vient du fait que c'est une macro que j'utilise personnellement donc je n'avais qu'à changer l'extension et la colonne :)
0
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 4
12 nov. 2011 à 09:29
Bonjour Aquarelle,
Bonjour Gbinforme,

Un grand merci à vous deux pour vos solutions qui fonctionne parfaitement.
J'ai fait un test sur une vingtaine de fichiers sans problème je vais tester ça sur un repertoire plus important.
Après cela j'adapterais la plus rapide des deux à mon cas car tous se trouvera dans un même répertoire et je sais récuperer son chemin pour l'utiliser dans mon code.

Merci à vous pour votre aide.
Cordialement.
Mistral
0
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
12 nov. 2011 à 09:53
Bonjour,

De rien et bonne continuation :)
0