Renommer et déplacer des fichier .txt

  • Initiateur de la discussion Initiateur de la discussion man95
  • 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 !

man95

XLDnaute Occasionnel
Bonjour à vous tous,

Après plusieurs recherche sur le forum sans résultat (peut être que je cherche mal !) je vous propose ma requête

J'aimerai si cela est possible de déplacer et renommer des fichiers txt mais en prenant en compte qu'une partie du nom du fichier origine
(je sais déplacer en renommant de façon basic un fichier ...)

Voici quelques exemples de ce quoi je souhaite au final:

Obs jour OP 10-22-01 12 09'00'012345 6789.txt deviendrait OP 10 21 janvier.txt (date fichier origine -1)
Obs jour OP 10-23-01 12 09'00'678901 2345.txt deviendrait OP 10 22 janvier.txt (date fichier origine -1)

Obs jour OP 12-22-01 12 09'00'890123 4567.txt deviendrait OP 12 21 janvier.txt (date fichier origine -1)
Obs jour OP 12-23-01 12 09'00'012345 6789.txt deviendrait OP 12 22 janvier.txt (date fichier origine -1)


Merci beaucoup de vous intéresser à mon problème

Man
 
Re : Renommer et déplacer des fichier .txt

Bonjour man95

un essai

Code:
Sub Renomme()
Dim DossSource As String, DossDest As String, Modele As String, Fic As String
Dim DateFic As Date
    DossSource = "C:\test\" 'Dossier d'origine des fichiers à adapter
    DossDest = "C:\test2\" 'Dossier de destination des fichiers à adapter
    Modele = "OP *.txt" 'Modèle du nom des fichiers à déplacer
    Fic = Dir(DossSource & Modele)
    Do Until Fic = ""
        DateFic = DateSerial(Mid(Fic, 4, 2), Mid(Fic, 10, 2), Mid(Fic, 7, 2)) - 1
        Name DossSource & Fic As DossDest & "OP " & Format(DateFic, "YY DD MMMM") & ".txt"
        Fic = Dir
    Loop
End Sub
 
Re : Renommer et déplacer des fichier .txt

Bonsoir Tototiti2008,

Merci pour cette réponse rapide mais malheureusement cela ne fonctionne pas

J'ai une erreur de type 13 incompabilité de type sur la ligne :
DateFic = DateSerial(Mid(Fic, 4, 2), Mid(Fic, 10, 2), Mid(Fic, 7, 2)) - 1

Voici le code que tu m'as fourni et que j'ai modifié pour mon test
j'ai créé les rep TEST et

Sub Renomme()
Dim DossSource As String, DossDest As String, Modele As String, Fic As String
Dim DateFic As Date
DossSource = "C:\test\" 'Dossier d'origine des fichiers à adapter
DossDest = "C:\test2\" 'Dossier de destination des fichiers à adapter
Modele = "observation *.txt" 'Modèle du nom des fichiers à déplacer
Fic = Dir(DossSource & Modele)
Do Until Fic = ""
DateFic = DateSerial(Mid(Fic, 4, 2), Mid(Fic, 10, 2), Mid(Fic, 7, 2)) - 1
Name DossSource & Fic As DossDest & "OP " & Format(DateFic, "YY DD MMMM") & ".txt"
Fic = Dir
Loop
End Sub

et au niveau des variables locales voici les infos:

: DossSource : "C:\test\" : String
: DossDest : "C:\test2\" : String
: Modele : "observation *.txt" : String
: Fic : "observation journalire OP 10 22-01-12 09'00'0146795810110718 89053.txt" : String
: DateFic : #00:00:00# : Date

Te remerciant par avance de t'interresser à mon probleme

Manu
 
Re : Renommer et déplacer des fichier .txt

Bonsoir Tototiti2008,

Merci pour cette réponse rapide mais malheureusement cela ne fonctionne pas

J'ai une erreur de type 13 incompabilité de type sur la ligne :
DateFic = DateSerial(Mid(Fic, 4, 2), Mid(Fic, 10, 2), Mid(Fic, 7, 2)) - 1

Voici le code que tu m'as fourni et que j'ai modifié pour mon test
j'ai créé les rep TEST et

Sub Renomme()
Dim DossSource As String, DossDest As String, Modele As String, Fic As String
Dim DateFic As Date
DossSource = "C:\test\" 'Dossier d'origine des fichiers à adapter
DossDest = "C:\test2\" 'Dossier de destination des fichiers à adapter
Modele = "observation *.txt" 'Modèle du nom des fichiers à déplacer
Fic = Dir(DossSource & Modele)
Do Until Fic = ""
DateFic = DateSerial(Mid(Fic, 4, 2), Mid(Fic, 10, 2), Mid(Fic, 7, 2)) - 1
Name DossSource & Fic As DossDest & "OP " & Format(DateFic, "YY DD MMMM") & ".txt"
Fic = Dir
Loop
End Sub

et au niveau des variables locales voici les infos:

: DossSource : "C:\test\" : String
: DossDest : "C:\test2\" : String
: Modele : "observation *.txt" : String
: Fic : "observation journalire OP 10 22-01-12 09'00'0146795810110718 89053.txt" : String
: DateFic : #00:00:00# : Date

Te remerciant par avance de t'interresser à mon probleme

Manu
 
Re : Renommer et déplacer des fichier .txt

Bonjour man,

Pour interpréter la date dans le nom du fichier, il faut savoir exactement à quelle position se trouvent les chiffres qui identifient l'année, le mois et le jour.
Comme le nom de tes fichiers a changé entre le message #1 et le message #3, peux-tu me dire si année, mois et jour se trouvent toujours à la même position dans le nom du fichier, et si oui, à quelle position ?
 
Re : Renommer et déplacer des fichier .txt

Bonjour tototiti2008

Merci de me répondre
En effet j'ai fourni un exemple de fichier "bidon" en ne pensant pas que l'emplacement de la date était important...

Je te joint quelques noms de fichiers tel que je les reçois chaque jours

observation journalire OP 10 21-12-11 09'00'077066675360019 72205.txt
observation journalire OP 10 21-12-11 09'00'077066675360019 72205.txt
observation journalire OP 10 24-01-12 09'00'0255650190744013 32184.txt
observation journalire OP 10 31-12-11 09'00'0136813397757480 68977.txt
observation journalire OP 12 20-01-12 09'00'1848686969059461 86632.txt
observation journalire OP 12 31-10-11 09'00'1516074951351886 28852.txt


En espérant que cela puisse nous aider ...

Je te remercie à nouveau du temps que tu passes pour me venir en aide

Manu
 
Re : Renommer et déplacer des fichier .txt

Re,

Peut-être

Code:
Sub Renomme()
Dim DossSource As String, DossDest As String, Modele As String, Fic As String, Pos As Long
Dim DateFic As Date
    DossSource = "C:\test\" 'Dossier d'origine des fichiers à adapter
    DossDest = "C:\test2\" 'Dossier de destination des fichiers à adapter
    Modele = "*OP *.txt" 'Modèle du nom des fichiers à déplacer
    Fic = Dir(DossSource & Modele)
    Do Until Fic = ""
        Pos = InStr(1, Fic, "-")
        DateFic = DateSerial(Mid(Fic, Pos + 4, 2), Mid(Fic, Pos + 1, 2), Mid(Fic, Pos - 2, 2)) - 1
        Name DossSource & Fic As DossDest & "OP " & Format(DateFic, "YY DD MMMM") & ".txt"
        Fic = Dir
    Loop
End Sub
 
- 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
46
Affichages
3 K
Réponses
4
Affichages
1 K
Z
Réponses
0
Affichages
558
Z
Retour