Signaler

Déplacement d’un fichier après traitement [Résolu]

Posez votre question mijean94 305Messages postés mercredi 16 décembre 2015Date d'inscription 5 décembre 2016 Dernière intervention - Dernière réponse le 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
Afficher la suite 
Utile
+0
moins plus
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
mijean94 305Messages postés mercredi 16 décembre 2015Date d'inscription 5 décembre 2016 Dernière intervention - 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
Répondre
yg_be 871Messages postés lundi 9 juin 2008Date d'inscription 10 décembre 2016 Dernière intervention - 26 nov. 2016 à 10:43
Le fichier se déplace bien?
Répondre
eriiic 20020Messages postés mardi 11 septembre 2007Date d'inscription 10 décembre 2016 Dernière intervention - 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
Répondre
mijean94 305Messages postés mercredi 16 décembre 2015Date d'inscription 5 décembre 2016 Dernière intervention - 26 nov. 2016 à 13:35
Bonjour,

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

Bien cordialement
Répondre
mijean94 305Messages postés mercredi 16 décembre 2015Date d'inscription 5 décembre 2016 Dernière intervention eriiic - 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
Répondre
Ajouter un commentaire
Utile
+0
moins plus
Qu'as-tu essayé comme solution pour chercher le fichier le plus ancien?
Qu'est-ce que cela a donné comme résultat?
mijean94 305Messages postés mercredi 16 décembre 2015Date d'inscription 5 décembre 2016 Dernière intervention - 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
Répondre
yg_be 871Messages postés lundi 9 juin 2008Date d'inscription 10 décembre 2016 Dernière intervention - 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
Répondre
mijean94 305Messages postés mercredi 16 décembre 2015Date d'inscription 5 décembre 2016 Dernière intervention - 26 nov. 2016 à 13:31
Bonjour,

Merci ça fonctionne nickel

Bien cordialement
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !