Que faites-vous lorsque vous avez enregistré plusieurs classeurs Excel dans un répertoire et que vous souhaitez maintenant ouvrir le plus récent? Vous démarrez l’explorateur de fichiers, définissez la vue DETAILS et regardez sous l’en-tête CHANGÉ SUR. Si vous souhaitez toujours ouvrir le dernier classeur dans un certain répertoire à l’aide d’une macro, vous devez utiliser la fonction FileDateTime, qui détermine la dernière date de modification d’un fichier. Vous pouvez découvrir exactement comment cela se fait dans la liste suivante.
Sub DossierActuelOuvrirDansLeRepertoire () Dim Dat As Date Dim DatVgl As Date Dim ClasseurA As String Dim ZClasseur As String Consts = "c:\eigene Dateien" ClasseurA = Dir(s & "\*.xls") Dat = FileDateTime(s & "\" & ClasseurA) Do Until ClasseurA = "" DatVgl = FileDateTime(s & "\" & ClasseurA) If DatVgl > Dat Then Dat = DatVgl ZClasseur = s & "\" & ClasseurA End If ClasseurA = Dir() Loop Workbooks.Open Filename:=ZClasseur End Sub
Commentaires
Vous devez être familier avec la fonction Dir de l’ancien temps DOS. Avec cette fonction, vous pouvez rechercher un répertoire ou même des lecteurs entiers pour un fichier spécifique. Vous transférez le chemin complet que vous avez défini dans la constante et le filtre de fichier (* .XLS) vers la fonction. Vous enregistrez le résultat de la fonction dans le dossier des variables de chaîne. La fonction trouvera maintenant le premier fichier qui correspond au filtre de fichier. Déterminez ensuite la dernière date de modification de ce fichier, utilisez la fonction FileDateTime et enregistrez la date dans la variable Dat. Dans une boucle Do Until, vous créez une deuxième variable DatVgl au début de la boucle, dans laquelle vous enregistrez la dernière date de modification des fichiers suivants. Dans une comparaison directe de la variable Dat avec la variable DatVgl, vous déterminez le fichier le plus récent et l’enregistrez dans la variable ZClasseur. Utilisez à nouveau la fonction Dir pour vous positionner sur le fichier suivant. La fin de la boucle est atteinte lorsque la fonction Dir renvoie une valeur vide. Le fichier le plus récent du répertoire, que vous pouvez ouvrir à l’aide de la méthode Open, se trouve désormais dans la variable ZClasseur.