Chris57
XLDnaute Occasionnel
bonjour à tous,
j'ai une macro qui me permet de lister les noms de fichiers d'un dossier :
et une autre permettant de d'inscrire les propriétés de ces fichiers :
pourriez-vous m'aider à combiner les 2 pour que lorsque la première macro inscrit le nom d'un fichier, la seconde inscrive les propriétés de ce même fichier ?
j'ai une macro qui me permet de lister les noms de fichiers d'un dossier :
Code:
Sub OUVERTUREDossier()
' Demande quel type de fichier à choisir
Extension = InputBox("Quel type de fichier voulez-vous traiter ?" & Chr(13) & " (ne pas mettre le point)" & Chr(13) & Chr(13) & "Si vous voulez traiter tous les fichiers," & Chr(13) & "mettre simplement une ""*""", "DEFINIR L'EXTENSION", "*")
If Extension = Cancel Then Exit Sub
' Ouverture popup dossiers
ChDir ThisWorkbook.Path ' répertoire de l'appli
Dossier = ChoixDossier()
If Dossier = "" Then Exit Sub
' Récupérations des noms des fichiers selon extention choisie
Application.ScreenUpdating = False
Ligne = 10
NOMfichier = Dir("*." & Extension)
Do While NOMfichier <> ""
Cells(Ligne, 2) = NOMfichier
Ligne = Ligne + 1
NOMfichier = Dir ' suivant
Loop
End Sub
et une autre permettant de d'inscrire les propriétés de ces fichiers :
Code:
' Récupération des propriétés des fichiers
Dim objShell As Shell32.Shell
Dim strFileName As Shell32.FolderItem
Dim objFolder As Shell32.Folder
Dim Resultat As String, Reponse As String
Dim i As Byte
Set objShell = CreateObject("Shell.Application")
'Répertoire cible
Set objFolder = objShell.Namespace(Dossier)
a = 0
'boucle sur tous les elements du repertoire
For Each strFileName In objFolder.Items
If strFileName.IsFolder = False Then 'Pour que les dosssiers ne soient pas pris en comptes
If objFolder.GetDetailsOf(NOMfichier, i) <> "" Then
a = a + 1
[E10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 1) ' Taille
[F10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 3) ' Modifié le
[G10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 4) ' Date de création
[H10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 13) ' Artistes ayant participé
[I10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 14) ' Album
[J10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 15) ' Année
[K10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 16) ' Genre
[L10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 20) ' Auteurs
[M10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 21) ' Titre
[N10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 24) ' Commentaires
[O10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 26) ' N°
[P10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 27) ' Longueur
[Q10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 28) ' Vitesse de transmission
[R10].Offset(a, 0) = objFolder.GetDetailsOf(strFileName, 31) ' Dimensions
End If
End If
Next
pourriez-vous m'aider à combiner les 2 pour que lorsque la première macro inscrit le nom d'un fichier, la seconde inscrive les propriétés de ce même fichier ?