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