Import du document le plus récent
Résolu
Embraque21
Messages postés
3
Statut
Membre
-
gbinforme Messages postés 14930 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14930 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je travaille actuellement sur une macro Excel, et j'aimerai savoir s'il existe un moyen de sélectionner le classeur Excel le plus récent d'un dossier.
Habituellement j'utilise cette fonction
Set classeurSource = Application.Workbooks.Open("K:\Outils\Reporting trimestriel\Fichier import\Plop.xlsx", , True)
Set classeurDestination = ThisWorkbook
classeurSource.Sheets("Feuil1").Cells.Copy classeurDestination.Sheets("Libre arbitre").Range("A1")
classeurSource.Close False
Mais dans mon cas, cela n'est pas possible car mon dossier va accueillir de nouveau classeurs, et à chaque actualisation du dossier, j'aurai besoin de sélectionner le classeur le plus récent.
Merci
Je travaille actuellement sur une macro Excel, et j'aimerai savoir s'il existe un moyen de sélectionner le classeur Excel le plus récent d'un dossier.
Habituellement j'utilise cette fonction
Set classeurSource = Application.Workbooks.Open("K:\Outils\Reporting trimestriel\Fichier import\Plop.xlsx", , True)
Set classeurDestination = ThisWorkbook
classeurSource.Sheets("Feuil1").Cells.Copy classeurDestination.Sheets("Libre arbitre").Range("A1")
classeurSource.Close False
Mais dans mon cas, cela n'est pas possible car mon dossier va accueillir de nouveau classeurs, et à chaque actualisation du dossier, j'aurai besoin de sélectionner le classeur le plus récent.
Merci
1 réponse
-
bonjour
Pour obtenir ton classeur source le plus récent tu peux essayer ceci :
Public Sub ouvre_dernier() Dim fsys As Object Dim felm As Object Dim fdat As Date Dim fdir As String Dim fich As String Dim fsel As String fdir = "K:\Outils\Reporting trimestriel\Fichier import\" ' répertoire de recherche Set fsys = CreateObject("Scripting.FileSystemObject") fich = Dir(fdir & "*.xlsx") While fich <> "" Set felm = fsys.GetFile(fdir & fich) If felm.DateLastModified > fdat Then fdat = felm.DateLastModified fsel = fdir & fich End If fich = Dir Wend Dim classeurSource As Object Set classeurSource = Application.Workbooks.Open(fsel, , True) End Sub
Puis continuer avec ton code à toi.