[Résolu] Extraire le nom de fichier dans un répertoire

Pour toutes vos questions à propos d'Excel ...

[Résolu] Extraire le nom de fichier dans un répertoire

Messagepar Marky93 » 01 Juil 2009, 09:23

Bonjour le forum,

Voici ce que je souhaite faire.

Dans un répertoire C:/Mes documents/Clichés/"fichiers".PDF

J'ai une certaine quantité de fichiers dont je souhaiterais extraire le nom dans une feuille Excel.

Mes fichiers sont avec des extensions .PDF et un exemple de fichier est :

07110015 010203.PDF

Merci d'avance pour votre aide.
Dernière édition par Marky93 le 06 Juil 2009, 08:37, édité 1 fois.
Marky93
Membre fidèle
 
Messages: 134
Inscription: 06 Avr 2009, 11:58
Version Excel: 2003 Français

Messagepar dubois » 01 Juil 2009, 09:57

Bonjour à tous,

Attention dans le chemin il faut des "\" et non des "/'
-----------------
Voici une macro dont je n'ai pas noté l'auteur, à placer dans un module.
Code: Tout sélectionner
Sub ListFilesInFolder()
  Dim fso As Object
  Dim oSourceFolder As Object
  Dim oSubFolder As Object
  Dim oFile As Object
  Dim oFolder As Object
  Dim strFolderName As String
  Dim i As Long
    Set fso = CreateObject("Scripting.FileSystemObject")
   
    Columns("A:C").ClearContents
    Cells(1, 1).Value = "Parent folder"
    Cells(1, 2).Value = "File name"
    Cells(1, 3).Value = "File size"

   strFolderName = "C:\Mes documents\Clichés\" '***ton répertoire
    i = 2
  Set oSourceFolder = fso.GetFolder(strFolderName)
    For Each oFolder In oSourceFolder.SubFolders
        For Each oFile In oFolder.Files
            Cells(i, 1).Value = oFile.ParentFolder.Path
            Cells(i, 2).Value = oFile.Name
            Cells(i, 3).Value = oFile.Size
            i = i + 1
        Next oFile
    Next oFolder
    Columns("A:C").Columns.AutoFit
    Set fso = Nothing
    Set oSourceFolder = Nothing
End Sub

à tester
Amicalement
Claude.
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9256
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Messagepar Marky93 » 02 Juil 2009, 19:04

Bonjour,

Merci pour le code mais il ne me sort rien.
Il inscrit juste les valeurs

Parent Folder en A1
FIle name en B1
File size en C1

et rien en dessous de chaque champ ci-dessus...
Marky93
Membre fidèle
 
Messages: 134
Inscription: 06 Avr 2009, 11:58
Version Excel: 2003 Français

Messagepar Amadéus » 02 Juil 2009, 19:30

Amadéus
Modérateur
 
Messages: 10873
Inscription: 07 Mai 2006, 11:18
Localisation: Ariège-Pyrénées France
Version Excel: Office Excel 2003 FR

Messagepar dubois » 02 Juil 2009, 19:40

re,

un autre code que je viens de tester avec des .xls
Code: Tout sélectionner
Sub ListeFichiers() 'liste les fichiers sans les sous-répertoires
Dim MyPath$, FName$, Mem$, i
    MyPath = "C:\Mes documents\Clichés\" 'chemin d'accès."
        FName = Dir(MyPath & "*.PDF")
       
    Do While FName <> ""
        [A65536].End(xlUp)(2) = FName
        [b65536].End(xlUp)(2) = FileDateTime(FName)
        FName = Dir
    Loop
End Sub

est-tu sur du chemin ?
mets-toi sur une feuille vierge
Claude
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9256
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Messagepar dubois » 02 Juil 2009, 20:12

re,
Bonsoir Amadéus, j'avais pas vu ton message,

Ton code ne fonctionne pas sur ma version, il bogue au départ
Code: Tout sélectionner
Sub ListFile()
Dim i As Integer
    With Application.FileSearch

l'aide ne semble pas reconnaitre FileSearch, et comme l'anglais et moi ... je ne sais pas
corriger.
Bonne soirée
Claude.
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9256
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Messagepar cousinhub » 02 Juil 2009, 20:21

Bonsoir,

FileSearch n'est plus reconnu par Excel2007..

Et Claude, dans ton code, tu ne testes que les sous-dossiers, et non le dossier principal...

Bonne soirée
cousinhub
Membre dévoué
 
Messages: 928
Inscription: 28 Mai 2009, 22:18
Localisation: Brest
Version Excel: xl 2003, xl 2007

Messagepar Marky93 » 02 Juil 2009, 20:48

dubois a écrit:re,

un autre code que je viens de tester avec des .xls
Code: Tout sélectionner
Sub ListeFichiers() 'liste les fichiers sans les sous-répertoires
Dim MyPath$, FName$, Mem$, i
    MyPath = "C:\Mes documents\Clichés" 'chemin d'accès."
        FName = Dir(MyPath & "*.PDF")
       
    Do While FName <> ""
        [A65536].End(xlUp)(2) = FName
        [b65536].End(xlUp)(2) = FileDateTime(FName)
        FName = Dir
    Loop
End Sub

est-tu sur du chemin ?
mets-toi sur une feuille vierge
Claude


Ce code fonctionne parfaitement, merci beaucoup de votre aide précieuse.
Bonne soirée
Marky93
Membre fidèle
 
Messages: 134
Inscription: 06 Avr 2009, 11:58
Version Excel: 2003 Français

Messagepar Amadéus » 02 Juil 2009, 21:11

Bonsoir

l'aide ne semble pas reconnaitre FileSearch,


Dèjà que je galère pour trouver des trucs auxquels je ne comprends rien, si en plus Crosoft s'amuse à modifier en cours de trajet, je ne suis pas prêt d'arriver au but..! Pas très correct ce truc.
Bonne soirée
Amadéus
Modérateur
 
Messages: 10873
Inscription: 07 Mai 2006, 11:18
Localisation: Ariège-Pyrénées France
Version Excel: Office Excel 2003 FR

Messagepar dubois » 02 Juil 2009, 21:43

re,

D'accord avec toi Amadéus.

Marky93, essaye de prendre le bon réflexe de solder les postes quand tu as ta réponse.
Image
tu en a d'autres sans réponses, pas sympa çà !
Amicalement
Claude.
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
dubois
Passionné d'Excel
 
Messages: 9256
Inscription: 08 Déc 2007, 12:03
Localisation: MEUDON région parisienne
Version Excel: Vista Office 2007FR

Suivante

Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: Google [Bot], Google Adsense [Bot] et 10 invités