Excel ouvrir le dernier classeurs créé
Résolu/Fermé
A voir également:
- Excel ouvrir le dernier classeurs créé
- Liste déroulante excel - Guide
- Ouvrir fichier .bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier rar - Guide
- Formule excel - Guide
5 réponses
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
288
19 oct. 2010 à 13:57
19 oct. 2010 à 13:57
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+
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 ...
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
288
19 oct. 2010 à 14:57
19 oct. 2010 à 14:57
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.
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
288
Modifié par Bidouilleu_R le 19/10/2010 à 15:54
Modifié par Bidouilleu_R le 19/10/2010 à 15:54
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
19 oct. 2010 à 15:06