Excel ouvrir le dernier classeurs créé
Résolu
Didoo
-
Didoo -
Didoo -
Bonjour,
J'aimerais adapter la formule ci-dessous ( Macro pour ouvrir le dernier documents words créé) pour que celle ci fonctionne sur excel.
Dim Chemin As String
Function DernierFichier(Chemin As String) As String
Dim Fichier As String, DerniereDate As Date
Fichier = Dir(Chemin)
Do While Fichier <> ""
If FileDateTime(Chemin & Fichier) > DerniereDate Then
DerniereDate = FileDateTime(Chemin & Fichier)
DernierFichier = Fichier
End If
Fichier = Dir()
Loop
End Function
Sub OuvrirDernierDoc()
Chemin = "C:\TEST"
ChangeFileOpenDirectory Chemin
workbooks.Open FileName:=DernierFichier(Chemin)
End Sub
La macro excel ne reconnait pas la ligne de code "ChangeFileOpenDirectory Chemin" et me créé une erreur.
Merci pour votre aide
J'aimerais adapter la formule ci-dessous ( Macro pour ouvrir le dernier documents words créé) pour que celle ci fonctionne sur excel.
Dim Chemin As String
Function DernierFichier(Chemin As String) As String
Dim Fichier As String, DerniereDate As Date
Fichier = Dir(Chemin)
Do While Fichier <> ""
If FileDateTime(Chemin & Fichier) > DerniereDate Then
DerniereDate = FileDateTime(Chemin & Fichier)
DernierFichier = Fichier
End If
Fichier = Dir()
Loop
End Function
Sub OuvrirDernierDoc()
Chemin = "C:\TEST"
ChangeFileOpenDirectory Chemin
workbooks.Open FileName:=DernierFichier(Chemin)
End Sub
La macro excel ne reconnait pas la ligne de code "ChangeFileOpenDirectory Chemin" et me créé une erreur.
Merci pour votre aide
A voir également:
- Excel ouvrir le dernier classeurs créé
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Liste déroulante excel - Guide
- Cree un compte google - Guide
- Word et excel gratuit - Guide
5 réponses
La macro excel ne reconnait pas la ligne de code "ChangeFileOpenDirectory Chemin" et me créé une erreur.
il y a bien d'autres choses que la macro ne reconnait pas....
changeFileOpenDirectory devient Chdir....
mais avant de remplacer cela d'une manière brutale et d'être déçu...
je te conseille de jeter un oeil ( tu pourras toujours le récuperer après ) sur
la partie de l'aide VBA FileSystemObjet.
Tu vas constater plusieurs erreurs / différences .
donc il faut recoder en utilisant la méthode getfolder et la propriété datecreated
A+
il y a bien d'autres choses que la macro ne reconnait pas....
changeFileOpenDirectory devient Chdir....
mais avant de remplacer cela d'une manière brutale et d'être déçu...
je te conseille de jeter un oeil ( tu pourras toujours le récuperer après ) sur
la partie de l'aide VBA FileSystemObjet.
Tu vas constater plusieurs erreurs / différences .
donc il faut recoder en utilisant la méthode getfolder et la propriété datecreated
A+
Didoo
En rajoutant ChDir (Chemin) ça m'ouvre effectivement les fichiers (notamment lorsqu'ils se trouvent dans mes documents) mais pour des fichiers sur le reseaux la macro m'affiche l'erreur 1004 (fichier introuvable, vérifier l'orthographe et la validité de l'emplacement)
En fait j'ai réussi à la retraduire de manière plus ou moins bonne:
Dim Chemin As String
Function DernierFichier(Chemin As String) As String
Dim Fichier As String, DerniereDate As Date
Fichier = Dir(Chemin)
Do While Fichier <> ""
If FileDateTime(Chemin & Fichier) > DerniereDate Then
DerniereDate = FileDateTime(Chemin & Fichier)
DernierFichier = Fichier
End If
Fichier = Dir()
Loop
End Function
Sub OUVRIRLESFICHIERS()
'
' OUVRIRLESFICHIERS Macro
Chemin = "S:\TEST\"
Workbooks.Open Filename:=DernierFichier(Chemin)
End Sub
en gros j'ai simplement supprimer la ligne qui me posait problème.
Tout irait pour le mieux si en fait cela n'occurait pas un autre problème:
En effet la ligne ouvre bien les fichier Excel qui ont été créés dans la même minute que l'exécution de la Macro, elle affiche l'erreur d'exécution 1004 (fichier introuvable, vérifier l'orthographe et la validité de l'emplacement) pour les fichiers créé de manière antérieur à la minute d'exécution de la macro ...
Dim Chemin As String
Function DernierFichier(Chemin As String) As String
Dim Fichier As String, DerniereDate As Date
Fichier = Dir(Chemin)
Do While Fichier <> ""
If FileDateTime(Chemin & Fichier) > DerniereDate Then
DerniereDate = FileDateTime(Chemin & Fichier)
DernierFichier = Fichier
End If
Fichier = Dir()
Loop
End Function
Sub OUVRIRLESFICHIERS()
'
' OUVRIRLESFICHIERS Macro
Chemin = "S:\TEST\"
Workbooks.Open Filename:=DernierFichier(Chemin)
End Sub
en gros j'ai simplement supprimer la ligne qui me posait problème.
Tout irait pour le mieux si en fait cela n'occurait pas un autre problème:
En effet la ligne ouvre bien les fichier Excel qui ont été créés dans la même minute que l'exécution de la Macro, elle affiche l'erreur d'exécution 1004 (fichier introuvable, vérifier l'orthographe et la validité de l'emplacement) pour les fichiers créé de manière antérieur à la minute d'exécution de la macro ...
j'ai dis " Tu vas constater plusieurs erreurs / différences . "
je regarde si j'ai un truc dans ma boite à clous ... patiente un moment s'il te plait.
je regarde si j'ai un truc dans ma boite à clous ... patiente un moment s'il te plait.
donc comme promis,
je l'ai adapté pour que tu t'y retrouves un peu.
ça marche sur 2003 et 2007.
A+
Si satisfait met en résolu.
je l'ai adapté pour que tu t'y retrouves un peu.
ça marche sur 2003 et 2007.
A+
Si satisfait met en résolu.
Sub Ouvre_le_dernier_xls()
Dim Chemin As String
Chemin = "C:\Data"
Y = DernierFichierCreer(Chemin)
If Y <> "" Then
Workbooks.Open Chemin & "\" & Y
End If
End Sub
Function DernierFichierCreer(specdossier) As String
Dim fso, oDossier, oFichier, sFichier
Set fso = CreateObject("Scripting.FileSystemObject")
Set oDossier = fso.getfolder(specdossier)
Set oFichier = oDossier.Files
For Each sFichier In oFichier
If Right(sFichier.Name, 3) <> "xls" Then
' ce n'est pas un fichier xls
Else
' c'est un fichier xls
If sFichier.datecreated > DerniereDate Then
DerniereDate = sFichier.datecreated
DernierFichierCreer = sFichier.Name
End If
End If
Next
End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question