Microsoft 365 Ouvrir un fichier en fonction de sa date

Thomas_1

XLDnaute Nouveau
Bonsoir à toutes et à tous.

Je souhaite faire une macro qui me demande d'écrire une date dans une Inputbox et d'ouvrir le fichier en fonction de la date de la dernière modification.

J'ai essayer de comparer la date écrite dans la Inputbox avec la date de la dernière modification du fichier mais ca ne fonctionne pas. La macro me met erreur 1004. Est-ce que quelqu'un pourrait m'aider svp ?

Voici mon code:

Sub ouverture_fichier()

Dim ThisFolder As String
Dim way1 As Object
Dim Syst_fol As Object
Dim fol As Object
Dim file_name As String
Dim acces As Date
Dim nb_file As String
Dim i As Integer
Dim date_choose As Date
Dim last_file As String

ThisFolder = "C:\" 'chemin d'accès du fichier
Set Syst_fol = CreateObject("Scripting.FileSystemObject")
Set way1 = Syst_fol.getfolder(ThisFolder)

date_choose = InputBox("Write the date with the folowing format : dd/mm/yyyy")
For Each fol In way1.Files
file_name = fol.Name
If Right(LCase(file_name), 4) = ".xls" Then
acces = fol.DateLastModified
If date_choose = acces Then
last_file = file_name
End If
End If
Next
Workbooks.Open Filename:=ThisFolder & "\" & last_file

End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Thomas,
( utilisez la balise </> ( à droite de l'icone GIF) pour le code c'est plus lisible ;) )
Sans fichier test, on ne peut que supputé.
Je pense que votre Inputbox renvoie un texte, et non un nombre.
Alors essayez de convertir cette chaine en date avec Cdate :
VB:
If Cdate(date_choose) = acces Then
En supposant que acces et date_choose aient le même format, cad dd/mm/yyyy dans le même système EU ou US.
 

Discussions similaires

Réponses
3
Affichages
180

Statistiques des forums

Discussions
313 322
Messages
2 097 141
Membres
106 851
dernier inscrit
Rv34