Importer liste de fichiers dans un tableur ?
Arnaud_P
Messages postés
3
Statut
Membre
-
Arnaud_P -
Arnaud_P -
Bonjour,
J'ai cherché sur le forum mais je n'ai pas trouvé de réponse.
Dans le cadre de ma mission je dois comparer les fichiers dwg envoyé par les hopitaux et les fichers dwg reçu de notre prestataire ( ce sont les mêmes fichiers, il est juste intervenu dessus et les as renommés)
Exemple.
Hôpital.dwg > Moi > Prestataire > Moi.
Sauf qu'il y as environ 2000 à 3000 fichiers.......... :s
Est'il possible dans excel de créer une liste de tout les fichiers presents dans un dossier??? par une macro ou autre ?
Merci d'avance
Cordialement
J'ai cherché sur le forum mais je n'ai pas trouvé de réponse.
Dans le cadre de ma mission je dois comparer les fichiers dwg envoyé par les hopitaux et les fichers dwg reçu de notre prestataire ( ce sont les mêmes fichiers, il est juste intervenu dessus et les as renommés)
Exemple.
Hôpital.dwg > Moi > Prestataire > Moi.
Sauf qu'il y as environ 2000 à 3000 fichiers.......... :s
Est'il possible dans excel de créer une liste de tout les fichiers presents dans un dossier??? par une macro ou autre ?
Merci d'avance
Cordialement
2 réponses
-
bonjour,
regarde si cette macro peut t'aider
Sub lancer_listing() Dim suff As String suff = InputBox("introduire lettres du suffixe des fichiers recherchés" _ & vbLf & "(sans le point devant)") If suff = "" Then: Exit Sub lister_suivant_suffixe driver, suff End Sub Sub lister_suivant_suffixe(partition As String, suffixe As String) Dim fich As String, Chemin As String Dim lig As Long 'fige le défilement de l'écran Application.ScreenUpdating = False 'sélectionne le dossier des ".avi" Chemin = selectionner_dossier(partition) If Chemin = "" Then: Exit Sub ' et force dans le répertoire de travail ChDir Chemin 'écrit le titre en A1 de la feuille active With Cells(1, 1) .Value = "liste des fichiers " & suffixe & " dans le dossier " & Chemin 'facultatif gras italique bleu .Font.FontStyle = "Gras italique" .Font.ColorIndex = 11 End With 'filtre sur les fichiers du type du suffixe fich = Dir("*." & suffixe) lig = 2 'recherche les fichiers correspondants au filtre de recherche While fich <> "" 'écrit le nom du fichier dans la feuille active Cells(lig, 1) = Left(fich, Len(fich) - (Len(suffixe) + 1)) 'ecriture du nom du fichier sans le suffixe lig = lig + 1 'affecte le fichier suivant (utilisation du joker " * " utilisé pour la def du 1° fichier) fich = Dir Wend If lig = 2 Then Cells(lig, 1) = "aucun fichier de type " & suffixe & " trouvé." End If ' ajuste la largeur de colonne Columns(1).AutoFit End Sub Function selectionner_dossier(racine As Variant) 'd 'après @+thierry pour XLD francisé par Michel_M pour CCM Dim ObjShell As Object, ObjFolder As Object Dim Message As String Dim endroit As String Message = "Sélectionnez le dossier concerné." Set ObjShell = CreateObject("Shell.Application") Set ObjFolder = ObjShell.BrowseForFolder(&H0&, Message, 1, racine) On Error Resume Next 'Si on sort sans sélection endroit = ObjFolder.ParentFolder.ParseName(ObjFolder.Title).Path & "" selectionner_dossier = endroit End Function
ci joint demo
https://www.cjoint.com/?exoVZzsYyB -
Re, bonjour,
Merci mais n'etant pas un pro des macros je lutte un peu ( je pensais que cela fonctionnais plus comme un lisp)
Lorsque je la crée (copier coller le corp dans l'editeur VBA)
Je l'enregistre, ferme et retourne dans excel.
Je la lance via le raccourci que je lui ai attribuée, mais la VBA se réouvre et m'indique le message suivant "Erreur de compilation" Type d'argument Byref Incompatible.
En surlignant en bleu : lister_suivant_suffixe driver, suff
Et en jaune : Sub lancer_listing()
Une idée ?
Sinon j'ai trouver ceci => * Double-cliquer sur l'icône Poste de Travail
* Cliquer sur Outils > Options des dossiers
* Sélectionner l'onglet Types de fichiers
* Une fenêtre s'ouvre. Cliquer sur Dossier dans les extensions puis sur Avancé.
* Une nouvelle fenêtre apparaît. Cliquer sur Nouveau...
* Dans le champ Action, inscrivez le nom de la commande qui apparaîtra dans le menu contextuel (Listing, Obtenir la liste, etc.)
* Dans le champ Application utilisée pour exécuter cette action, copier la ligne de commande suivante :
command.com /c tree /F /A > C:\Listing.txt
* command.com /c tree /F /A (cette ligne de commande va lister le contenu du répertoire souhaité)
* C:\Listing.txt (le fichier texte généré nommé Listing.txt se situera à la racine du disque dur)
* Valider en cliquant sur OK.
Moins performant je pense mais utile puisque cela genere un listing de l'ensemble d'un répertoire, ainsi que les sous dossiers et autre.
Merci d'avance
Arnaud