Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

deplacer fichier en fonction du nom

4 réponses
Avatar
Eric
Bonjour à tous,

je voulais savoir s'il est possible de déplacer des fichiers contenus dans
un répertoire vers une destination en fonction du nom du fichier ?

J'ai des fichiers qui se nomment :

012652005machin.pdf
015882005fsdfd.pdf
025582005truc.pdf
035582006sqf.pdf


Mon arborescence se décompose de la façon suivante

Le premier niveau correspond aux 2 premiers caractères du nom de mon fichier
Le second niveau correspond aux 5 premiers carartères du nom de mon fichier
Le troisième niveau correspond aux 4 cactères après le 5 ème en partant de
la gauche.

ex :
01
01001
2005
2006
01002
...
01265
2005
2006
........
01999
02
02001
02002
..........
02558

03
....
99


merci de votre aide
Eric

4 réponses

Avatar
Daniel
Bonjour.
Essaie ce code (non testé), alors mets le "kill" en commentaire dans un
premier temps.

Sub test()
Dim FichSource As String, FichCible As String
ChDir "c:RepertoireSource"
FichSource = Dir("*.pdf")
Do While FichSource <> ""
FichCible = "C:" & Left(FichSource, 2) & "" & Mid(FichSource, 3,
5) & "" & _
Mid(FichSource, 6, 4) & "" & FichSource
FichSource = "c:RepertoireSource" & FichSource
FileCopy FichSource, FichCible
Kill FichSource
FichSource = Dir
Loop
End Sub

Cordialement.
Daniel
"Eric" a écrit dans le message de news:

Bonjour à tous,

je voulais savoir s'il est possible de déplacer des fichiers contenus dans
un répertoire vers une destination en fonction du nom du fichier ?

J'ai des fichiers qui se nomment :

012652005machin.pdf
015882005fsdfd.pdf
025582005truc.pdf
035582006sqf.pdf


Mon arborescence se décompose de la façon suivante

Le premier niveau correspond aux 2 premiers caractères du nom de mon
fichier
Le second niveau correspond aux 5 premiers carartères du nom de mon
fichier
Le troisième niveau correspond aux 4 cactères après le 5 ème en partant de
la gauche.

ex :
01
01001
2005
2006
01002
...
01265
2005
2006
........
01999
02
02001
02002
..........
02558

03
....
99


merci de votre aide
Eric





Avatar
Daniel
Erratum :
C'est plutôt :
FichCible = "C:" & Left(FichSource, 2) & "" & left(FichSource, 1,
5) & "" & _
Mid(FichSource, 6, 4) & "" & FichSource
qui correspond à ton cas.
Daniel
"Daniel" a écrit dans le message de news:
%
Bonjour.
Essaie ce code (non testé), alors mets le "kill" en commentaire dans un
premier temps.

Sub test()
Dim FichSource As String, FichCible As String
ChDir "c:RepertoireSource"
FichSource = Dir("*.pdf")
Do While FichSource <> ""
FichCible = "C:" & Left(FichSource, 2) & "" & Mid(FichSource, 3,
5) & "" & _
Mid(FichSource, 6, 4) & "" & FichSource
FichSource = "c:RepertoireSource" & FichSource
FileCopy FichSource, FichCible
Kill FichSource
FichSource = Dir
Loop
End Sub

Cordialement.
Daniel
"Eric" a écrit dans le message de news:

Bonjour à tous,

je voulais savoir s'il est possible de déplacer des fichiers contenus
dans
un répertoire vers une destination en fonction du nom du fichier ?

J'ai des fichiers qui se nomment :

012652005machin.pdf
015882005fsdfd.pdf
025582005truc.pdf
035582006sqf.pdf


Mon arborescence se décompose de la façon suivante

Le premier niveau correspond aux 2 premiers caractères du nom de mon
fichier
Le second niveau correspond aux 5 premiers carartères du nom de mon
fichier
Le troisième niveau correspond aux 4 cactères après le 5 ème en partant
de
la gauche.

ex :
01
01001
2005
2006
01002
...
01265
2005
2006
........
01999
02
02001
02002
..........
02558

03
....
99


merci de votre aide
Eric









Avatar
Eric
bonjour,

Merci beaucoup. Cela correspond exactement à ce que je voulais.

Ci-dessous version légerement modifée du fait de l'utilisation de lecteur
réseau. En effet, avec Chdir, il ne me trouvait pas la source


Encore merci
Eric

Sub Deplacefichier()
Dim FichSource As String, FichCible As String
'ChDir "c:pdfout"
ChDrive "p:"
FichSource = Dir("*.pdf")
Do While FichSource <> ""
FichCible = "w:Documents" & Left(FichSource, 2) & "" &
Left(FichSource, 5) & "" & _
Mid(FichSource, 6, 4) & "" & FichSource

'FichSource = "c:pdfout" & FichSource
FichSource = "p:" & FichSource
FileCopy FichSource, FichCible
Kill FichSource
FichSource = Dir
Loop
End Sub




"Daniel" a écrit dans le message de
news:
Erratum :
C'est plutôt :
FichCible = "C:" & Left(FichSource, 2) & "" & left(FichSource,
1,

5) & "" & _
Mid(FichSource, 6, 4) & "" & FichSource
qui correspond à ton cas.
Daniel
"Daniel" a écrit dans le message de news:
%
Bonjour.
Essaie ce code (non testé), alors mets le "kill" en commentaire dans un
premier temps.

Sub test()
Dim FichSource As String, FichCible As String
ChDir "c:RepertoireSource"
FichSource = Dir("*.pdf")
Do While FichSource <> ""
FichCible = "C:" & Left(FichSource, 2) & "" & Mid(FichSource,
3,


5) & "" & _
Mid(FichSource, 6, 4) & "" & FichSource
FichSource = "c:RepertoireSource" & FichSource
FileCopy FichSource, FichCible
Kill FichSource
FichSource = Dir
Loop
End Sub

Cordialement.
Daniel
"Eric" a écrit dans le message de news:

Bonjour à tous,

je voulais savoir s'il est possible de déplacer des fichiers contenus
dans
un répertoire vers une destination en fonction du nom du fichier ?

J'ai des fichiers qui se nomment :

012652005machin.pdf
015882005fsdfd.pdf
025582005truc.pdf
035582006sqf.pdf


Mon arborescence se décompose de la façon suivante

Le premier niveau correspond aux 2 premiers caractères du nom de mon
fichier
Le second niveau correspond aux 5 premiers carartères du nom de mon
fichier
Le troisième niveau correspond aux 4 cactères après le 5 ème en partant
de
la gauche.

ex :
01
01001
2005
2006
01002
...
01265
2005
2006
........
01999
02
02001
02002
..........
02558

03
....
99


merci de votre aide
Eric













Avatar
Daniel.j
Une page sur ce sujet
http://dj.joss.free.fr/faq.htm#movefile


Daniel
===================== FAQ MPFE
http://dj.joss.free.fr/faq.htm
=====================

"Eric" a écrit dans le message de news:

Bonjour à tous,

je voulais savoir s'il est possible de déplacer des fichiers contenus dans
un répertoire vers une destination en fonction du nom du fichier ?

J'ai des fichiers qui se nomment :

012652005machin.pdf
015882005fsdfd.pdf
025582005truc.pdf
035582006sqf.pdf


Mon arborescence se décompose de la façon suivante

Le premier niveau correspond aux 2 premiers caractères du nom de mon
fichier
Le second niveau correspond aux 5 premiers carartères du nom de mon
fichier
Le troisième niveau correspond aux 4 cactères après le 5 ème en partant de
la gauche.

ex :
01
01001
2005
2006
01002
...
01265
2005
2006
........
01999
02
02001
02002
..........
02558

03
....
99


merci de votre aide
Eric