Copier-coller fichiers à partir listing.txt

Résolu
Gizmil Messages postés 749 Statut Membre -  
Heremion Messages postés 564 Statut Membre -
Salut,

J'ignore si ça peut exister mais je recherche une solution logiciel très ouverte qui permette de manipuler des fichiers de façon pratique !

Bon, je vous explique ça un peu plus concrètement ! Je fais de gros travaux de composition à partir de listes de photos et j'essaye de trouver des astuces afin d'améliorer mon temps de travail.

Régulièrement, je dois faire cette manipulation : j'ai un ensemble de plusieurs milliers de fichiers jpg dans un dossier que je nommerais "dossier A". A côté de ça, dans un txt, j'ai une liste de 300 noms de fichiers jpg. Celle liste m'indique les fichiers à sélectionner dans mon dossier A afin de les isoler dans un dossier vierge que je nommerais "dossier B".

La sélection manuelle des mes fichiers jpg dans le dossier A pouvant parfois prendre beaucoup de temps, je me demandais s'il existe des logiciels qui permettent ce genre de manipulation ?

Je suis intéressé par toute l'aide, quelle qu'elle soit, que vous pourrez m'apporter ! (-:

3 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Salut,
    Si tu as Excel...
    Le fichier qu'il te faut

    !!!! Cette procédure contient un Kill!!! A tester donc sur une copie des fichiers et/ou des répertoires!!! SAUVEGARDEZ AVANT VOS DONNEES !!!

    Adaptation possible :
    Ce fichier ne fera que déplacer tes fichiers, sans les couper. Si tu veux les supprimer du répertoire source au fur et à mesure, depuis le classeur tape ALT+F11, tu va voir ce code :
    Sub DeplacerFichiers() 
    Dim objOFS As Variant 
    Dim RepSource As String, RepDest As String, NomFichier As String 
    Dim Lig As Long, DrLig As Long 
    
    RepSource = Cells(1, 2) 
    RepDest = Cells(2, 2) 
    Set objOFS = CreateObject("Scripting.FileSystemObject") 
    DrLig = Range("B" & Rows.Count).End(xlUp).Row 
    For Lig = 3 To DrLig 
        NomFichier = Cells(Lig, 2) 
        If (objOFS.FileExists(RepSource & "/" & NomFichier)) Then 
            Cells(Lig, 3) = "oui" 
            objOFS.CopyFile RepSource & "/" & NomFichier, RepDest & "/" & NomFichier 
            'Kill RepSource & "/" & NomFichier 
        Else 
            Cells(Lig, 3) = "Fichier non trouvé dans le répertoire source" 
        End If 
    Next 
    Set objOFS = Nothing 
    End Sub

    supprime juste l'apostrophe (') au début de la ligne 'Kill RepSource & "/" & NomFichier

    Utilisation :
    1- ouvre le fichier / Activer les macros
    2- En B1 indique le chemin d'accès complet de ton répertoire source
    3- En B2 indique le chemin d'accès complet de ton répertoire destination
    4- De B3 à Bxxx indique les noms de tes fichiers avec l'extension (tu peux copier/coller ces noms depuis ton fichier .txt)
    5- ALT+F8, choisir "DeplacerFichiers" et cliques sur "Exécuter"

    Cordialement,
    Franck P
    1
  2. Gizmil Messages postés 749 Statut Membre 65
     
    Pijaku, honnêtement, je ne croyais pas trop trouver une solution aussi rapidement mais je crois que tu me sauves la mise ! J'ai testé ton fichier et ça marche au poil !

    Un grand merci à toi, tu me retires une belle épine du pied ! (-;
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      ça fait plaisir!
      De rien et ...
      A+
      0
  3. Heremion Messages postés 564 Statut Membre 102
     
    En message privé, je crois, je t'avais envoyé une appli, je sais pas si tu l'avais regardé...
    0