Import du document le plus récent

Résolu/Fermé
Embraque21 Messages postés 3 Date d'inscription jeudi 29 juillet 2010 Statut Membre Dernière intervention 29 juillet 2010 - 29 juil. 2010 à 09:47
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 29 juil. 2010 à 18:48
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

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
29 juil. 2010 à 10:59
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.
1
Embraque21 Messages postés 3 Date d'inscription jeudi 29 juillet 2010 Statut Membre Dernière intervention 29 juillet 2010
29 juil. 2010 à 11:06
Merci beaucoup pour ta réponse aussi rapide.
Je vais essayer ton code, je te tiens au courant.
0
Embraque21 Messages postés 3 Date d'inscription jeudi 29 juillet 2010 Statut Membre Dernière intervention 29 juillet 2010
Modifié par Embraque21 le 29/07/2010 à 11:24
Ton code fonctionne parfaitement, encore merci, j'avais déjà utilisé de tes codes que j'avais vus sur d'autres topics, ils sont toujours très clairs et marchent sans problème.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
29 juil. 2010 à 18:48
Merci beaucoup pour le retour et je suis ravi que tu ais résolu ta question.
0