Extraire des noms de fichiers à partir des chemins et noms complets

  • Initiateur de la discussion Initiateur de la discussion Jilde
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Jilde

XLDnaute Occasionnel
Bonjour les gens 🙂

Je cherche à copier un certain nombre de fichiers dispersés dans mon arborescence vers un seul et même répertoire créé pour l'occasion.
J'arrive à récupérer une liste de fichiers avec leur chemin (colonne A du fichier joint)

La commande FileCopy a besoin :
- du nom de fichier d'origine (je l'ai en colonne A),
- du répertoire de destination (répertoire créé en VBA pour l'occasion, pas de pb),
- du nom de fichier de destination (c'est tout mon pb).

J'aimerai donc, à partir de la colonne A, remplir ma colonne B, soit avec une formule Excel, mais je crains qu'elle soit particulièrement longue, soit avec un code VBA.

Ci-joint un fichier exemple.

Merci d'avance 😉 !!
 

Pièces jointes

Re : Extraire des noms de fichiers à partir des chemins et noms complets

IMPEC !!! Merci JB !!
Après avoir tester les deux, la solution VBA me convient parfaitement, même si la version Excel fonctionne.
Le traitement reste ainsi invisible à l'utilisateur, et je préfère !

Mais une question tout de même ...
Pourquoi doit-on valider avec maj+ctrl+entrée pour la première solution ?
 
Re : Extraire des noms de fichiers à partir des chemins et noms complets

Grand merci JB !
Je dormirai moins bête ce soir 😉 !!

Du coup, je vais abuser un peu plus ...

Maintenant, toujours en VBA et dans la même boucle FOR que tu as créé, est-il possible, pour chaque ligne, de créer une copie du fichier de la colonne A et de le copier dans un répertoire "C:/Temp" par exemple ?

Oui, je sais, j'abuse 🙁 ...
 
Re : Extraire des noms de fichiers à partir des chemins et noms complets

Code:
  For Each c In Range([A1], [A65000].End(xlUp))
   c.Offset(, 1) = Mid(c, InStrRev(c, "/") + 1)
   FileCopy c, "c:/temp/" & Mid(c, InStrRev(c, "/") + 1)
  Next c

JB
 
Re : Extraire des noms de fichiers à partir des chemins et noms complets

Yep ! Merci encore JB !

Je me suis même permis de simplifier la chose et de me passer de la colonne avec les noms seuls en supprimant la ligne " c.Offset(, 1) = Mid(c, InStrRev(c, "/") + 1)".

Et ça le fait très bien !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
307
Retour