Renommer des fichiers en utilisant Excel
nonoinc
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
nonoinc Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
nonoinc Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous ,
Je viens de faire le tour de ce forums bien sympatique. Je ne trouve pas de post qui pourrais convenir a mon probléme. C'est donc a mon tours de vous poser une colle ^^
Alors je commence:
J'ai un dossier dans lequel une machine de numérisation de bande magnétique viens m'enregistrer des fichiers.
Par exemple : Dans le dossier \Num
0000-OR14569.mxf
0000-OR14575.mxf
0000-OR14559.mxf
etc.....
Ces noms de fichiers correspondant aux noms de leurs support ( cassettes ) d'avant leurs numérisation.
J'ai fichier excel où sur la chaque ligne figure les différentes information de mes produit en numérisation.
Par exemple :
A B C D
1 0000-OR14569 | durée |nom du client | nom reel x|
2 0000-OR14575 | durée |nom du client | nom reely |
3 0000-OR14559 | durée |nom du client | nom reelz |
| | >>> représente une cellule
Je souhaite donc trouver un moyen (macro ou Vb) de faire faire a excel le résonemment suivant.
Je regarde mon dossier \num
Je cherche dans la colone A le nom correspondant a mon fichier "0000-OR14569.mxf"
Je trouve le nouveau nom du fichier en cellule D
je renomme mon fichier "0000-OR14569.mxf" en "nom reel x.mxf"
Je passe au deuxiéme.
J'éspere avoir réussi a bien expliquer mon souçis et vous remercie d'avance pour toute aide de votre part
Je viens de faire le tour de ce forums bien sympatique. Je ne trouve pas de post qui pourrais convenir a mon probléme. C'est donc a mon tours de vous poser une colle ^^
Alors je commence:
J'ai un dossier dans lequel une machine de numérisation de bande magnétique viens m'enregistrer des fichiers.
Par exemple : Dans le dossier \Num
0000-OR14569.mxf
0000-OR14575.mxf
0000-OR14559.mxf
etc.....
Ces noms de fichiers correspondant aux noms de leurs support ( cassettes ) d'avant leurs numérisation.
J'ai fichier excel où sur la chaque ligne figure les différentes information de mes produit en numérisation.
Par exemple :
A B C D
1 0000-OR14569 | durée |nom du client | nom reel x|
2 0000-OR14575 | durée |nom du client | nom reely |
3 0000-OR14559 | durée |nom du client | nom reelz |
| | >>> représente une cellule
Je souhaite donc trouver un moyen (macro ou Vb) de faire faire a excel le résonemment suivant.
Je regarde mon dossier \num
Je cherche dans la colone A le nom correspondant a mon fichier "0000-OR14569.mxf"
Je trouve le nouveau nom du fichier en cellule D
je renomme mon fichier "0000-OR14569.mxf" en "nom reel x.mxf"
Je passe au deuxiéme.
J'éspere avoir réussi a bien expliquer mon souçis et vous remercie d'avance pour toute aide de votre part
3 réponses
-
Bonjour
pour être efficace
mettre un extrait du classeur sans données confidentielles en pièce jointe (format XL97-2003) sur
http://cijoint.fr/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse
-
EN attendant
à adapter à la présentation du classeur(testé avec une extension ".xls" remise en ".mxf"
Function recherchedossier() 'Auteurs: @+thierry_xld et michel_m Dim ObjShell As Object, ObjFolder As Object Dim Message As String Dim Chemin As String Message = "Faire la Sélection du Repertoire des fichiers .mxf" Set ObjShell = CreateObject("Shell.Application") Set ObjFolder = ObjShell.BrowseForFolder(&H0&, Message, 1) On Error Resume Next 'Si on sort sans sélection Chemin = ObjFolder.ParentFolder.ParseName(ObjFolder.Title).Path & "" recherchedossier = Chemin End Function Sub renommer() Dim dico As Object, nouveau As String, ancien As String Dim derlig As Integer, lig As Integer Dim fich As String 'creation d'une association ancien et nouveau nom derlig = Cells(Cells.Rows.Count, "A").End(xlUp).Row Set dico = CreateObject("scripting.dictionary") For lig = 2 To derlig ancien = Trim(Cells(lig, 1)) & ".mxf" nouveau = Trim(Cells(lig, 4)) & ".mxf" If Not dico.exists(ancien) Then dico.Add ancien, nouveau End If Next ChDir recherchedossier fich = Dir("*.mxf") 'boucle sur les fichiers suffixe mxf While fich <> "" If dico.exists(fich) Then 'renomme avec nouveau nom Name fich As dico(fich) End If fich = Dir Wend Msgbox "fichiers avec le suffixe .mxf renommés dans le dossier " & recherchedossier End Sub
nota: dans le classeur, il y avait un espace après l'ancien nom !!! :-(
Michel -
Merci de ta réponse , je vais voir pour tester ceci.
Voici a quoi ressemble mon excel:
http://www.cijoint.fr/cjlink.php?file=cj201107/cijUVIJAgo.xls
L'excel as été simplifier ( a gauche le nouveau nom, a droit l ancien)
Je n'ais pas forcement tous les fichiers qui sont inscrit dans la feuille excel , d'où le fait qu'il puisse aller chercher la référence dans ce tableau. ^^