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

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

  • Extraction_Nom_Fichier.xls
    17.5 KB · Affichages: 177

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Extraire des noms de fichiers à partir des chemins et noms complets

Bonjour,

=DROITE(A1;EQUIV("/";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0))
Valider avec maj+ctrl+entrée

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

JB
Formation Excel VBA JB
 
Dernière édition:

Jilde

XLDnaute Occasionnel
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 ?
 

Jilde

XLDnaute Occasionnel
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 :( ...
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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
 

Jilde

XLDnaute Occasionnel
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 !!
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 936
Membres
103 988
dernier inscrit
Feonix