Copier-coller fichiers à partir listing.txt

Résolu
Gizmil Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   -  
Heremion Messages postés 538 Date d'inscription   Statut Membre Dernière intervention   -
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 ! (-:
A voir également:

3 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 762
 
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
Gizmil Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   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
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 762
 
ça fait plaisir!
De rien et ...
A+
0
Heremion Messages postés 538 Date d'inscription   Statut Membre Dernière intervention   102
 
En message privé, je crois, je t'avais envoyé une appli, je sais pas si tu l'avais regardé...
0