Déplacement d’un fichier après traitement

Résolu/Fermé
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 - 25 nov. 2016 à 23:41
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 - 26 nov. 2016 à 19:03
Bonjour,

Ce que je cherche à faire :

a) Je récupère, dans un répertoire « nouveau », le fichier avec la date la plus récente, (ça marche),

mais, je souhaiterais trouver le fichier avec la date la plus ancienne (pas trouvé la solution).

b) Je réalise la procédure souhaité … (ça marche)

c) Je voudrais déplacer le fichier qui vient d’être traité vers un autre répertoire « ancien » sans changer le nom de mon fichier (fichier non modifier puisque encore dans le répertoire (nouveau). (pas trouvé la solution)

d) Je recommence en (a) afin de traiter tous les fichiers du répertoire « nouveau » ( ça OK)

Voici le code que j’utilise pour la récupération du fichier le plus récent :

Option Explicit
Public Plus_recent_nom As String

'codes pour la recherche automatique du fichier le plus récent

Sub Cherche_auto1()

Dim Répert1 As Object
Dim Syst_fic As Object
Dim Fic1 As Object
Dim Fic_nom As String
Dim Fic_acces As Date
'Dim Plus_recent_nom As String
Dim Plus_recent_date As Date
Dim Répertoire1 As String
Set Syst_fic = CreateObject("Scripting.FileSystemObject")
'Stop
'Nom du répertoire à scanner
Répertoire1 = "C:\Users\Jean Mi\nouveau\"
Set Répert1 = Syst_fic.GetFolder(Répertoire1)
For Each Fic1 In Répert1.Files
Fic_nom = Fic1.Name
'on ne s'interresse qu'au fichier ".jpg"
If Right(LCase(Fic_nom), 4) = ".jpg" Then
Fic_acces = Fic1.datelastaccessed
If Fic_acces > Plus_recent_date Then
Plus_recent_date = Fic_acces
Plus_recent_nom = Fic_nom
End If
End If
Next

If Plus_recent_nom <> "" Then
MsgBox "le fichier le plus récent est : " & Plus_recent_nom
Else
MsgBox "Pas de fichier trouvé"
End If
MsgBox " Près pour déplacer le fichier qui a été traité ? "

deplacement_du_fichier ‘ lancement de la macro à créer vers le répertoire (ancien)

End Sub


Merci pour l’aide

Bien cordialement
A voir également:

2 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
26 nov. 2016 à 00:33
Bonjour,

Name, instruction

Renomme un fichier, un répertoire ou un dossier sur un disque.

Syntaxe

Name oldpathname As newpathname

La syntaxe de l'instruction Name comprend les éléments suivants :

Élément Description
oldpathname Expression de chaîne indiquant le nom et le chemin du fichier. Cet argument peut contenir le répertoire ou dossier et le lecteur.
newpathname Expression de chaîne indiquant les nouveaux nom et chemin du fichier. Cet argument peut préciser le répertoire ou le dossier et le lecteur. Le nom de fichier indiqué dans l'argument newpathname ne peut pas correspondre à un fichier existant.



Remarques

L'instruction Name renomme un fichier et le déplace le cas échéant vers un nouveau répertoire ou dossier. Elle permet aussi de déplacer un fichier d'un lecteur à un autre, mais elle ne peut renommer un dossier existant que si les arguments newpathname et oldpathname concernent le même lecteur. L'instruction Name ne permet pas de créer un nouveau fichier ou dossier.

Si vous appliquez Name à un fichier ouvert, vous provoquez une erreur. Les fichiers ouverts ne peuvent être renommés avant d'avoir été fermés. Les arguments de Name ne peuvent comporter de caractères génériques (* : multicaractères, ? : caractère unique).


Ex :
Name ancienrep & nom_fichier As nouveaurep & nom_fichier
eric
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10
26 nov. 2016 à 10:12
Bonjour,

Merci pour l’aide,

Dans mon cas, lorsque je souhaite déplacer le fichier il n’est pas ouvert et Je ne souhaite pas le renommer mais juste le déplacer de répertoire nouveau vers ancien.

Bien cordialement
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
26 nov. 2016 à 10:43
Le fichier se déplace bien?
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
26 nov. 2016 à 12:36
Bonjour,
Il faudrait peut-être lire ce qui est écrit mijean94 non ?
D'autant plus que je t'ai mâché le boulot en soulignant la partie qui t'intéresse et en plus en te mettant un exemple...
eric
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10 > eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024
26 nov. 2016 à 13:35
Bonjour,

Je vais examiner plus sérieusement ta réponse. Merci

Bien cordialement
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10 > eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024
26 nov. 2016 à 19:03
Bonjour,

Encore merci pour ta réponse. j'avais effectivement très mal regardé cette réponse ou il y a toutes les informations.

bien cordialement
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
26 nov. 2016 à 09:08
Qu'as-tu essayé comme solution pour chercher le fichier le plus ancien?
Qu'est-ce que cela a donné comme résultat?
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10
26 nov. 2016 à 10:13
Bonjour,

Actuellement je n'est pas trouvé de solution pour faire l'action de recherche du fichier le plus ancien.

Bien cordialement
0
yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
26 nov. 2016 à 10:42
Voici une suggestion :
- remplacer "recent" par "ancien"
- changer le ">" en "<" dans l'instruction "If Fic_acces > "
- avant "For Each Fic1", ajouter une instruction pour assigner à Plus_ancien_date une date supérieure aux dates de tes fichiers, par exemple now()+3660
0
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 10 > yg_be Messages postés 22727 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
26 nov. 2016 à 13:31
Bonjour,

Merci ça fonctionne nickel

Bien cordialement
0