Ouverture automatique du fichier le plus récent

ralph45

XLDnaute Impliqué
Bonjour,

En ayant cherché un peu, je n'ai pas pu trouver ce que je voulais.
Chaque semaine, un dossier de mon répertoire se voit aggrandir d'un seul fichier Excel.
Comment puis-je, par macro, ouvrir le dernier fichier créé ?

Compléments d'informations : le nom du fichier Excel est toujours le même, excepté la fin du titre qui se traduit par la date de création de ce fichier sous forme yyyy-mm-dd.

Exemple :
C:\Mes documents\Dossier TOTO\
TOTO 2011-06-27.xls
TOTO 2011-07-04.xls
TOTO 2011-07-11.xls

Il faudrait en l'occurence que la macro ouvre automatiquement le fichier TOTO 2011-07-11.xls

Merci et à bientôt pour celles et ceux qui ne sont pas encore en congés!
:cool:
 
C

Compte Supprimé 979

Guest
Re : Ouverture automatique du fichier le plus récent

Bonjour Ralph45

Tu peux essayer ceci
VB:
Sub DernierFichier()
  Dim Fic As Object, MemFic As String, VPath As String
  Dim Fso  'As FileSystemObject
  Dim SourceFolder  'As Scripting.Folder
  ' Initialisation des variables
  MemFic = ""
  VPath = "C:\Mes documents\Dossier TOTO\"
  ' Définit le dossier à traiter
  Set Fso = CreateObject("Scripting.FileSystemObject")
  Set SourceFolder = Fso.GetFolder(VPath)
  'Liste des fichiers du dossier Sélectionné
  For Each Fic In SourceFolder.Files
    ' Mémorise le dernier fichier selon l'ordre alphanumérique
    If Fic > MemFic Then MemFic = Fic
  Next Fic
  Workbooks.Open MemFic
End Sub

A+
 
Dernière modification par un modérateur:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Ouverture automatique du fichier le plus récent

Bonjour Raph, bonjour le forum,

Peut-être comme ça, une macro que j'avais faite pour Kabanon et que j'ai adapté à ton cas :
Code:
Sub Macro1()
Dim x As Integer 'déclare la variable x (incrément)
Dim da As Date 'déclare la variable da (Date)
Dim chem As String 'déclare la variable chem (CHEMin d'accès)
 
chem = "C:\Mes documents\Dossier TOTO\" 'a adapter
x = -1 'initialise la variable x
début: 'étiquette
x = x + 1 'incrémente la variable x
da = Date - x 'définit la date (commence par la date d'aujourd'hui)
On Error Resume Next 'si le fichier n'existe pas passe à la ligne suivante
Set wb = Workbooks.Open(chem & "TOTO " & Year(da) & "-" & Month(da) & "-" & Day(da) & ".xls")
If Err > 0 Then 'condition : si une erreur est générée
    Err = 0 'annule l'erreur
    GoTo début 'va à l'étiquette début
End If 'fin de la condition
On Error GoTo 0 'annule la gestion des erreurs
End Sub

[Édition]
Bonjour les véloces Bruno, JNP, on s'est croisé
 

ralph45

XLDnaute Impliqué
Re : Ouverture automatique du fichier le plus récent

Bonjour Robert, Bruno & JNP,

Je pense que le script de Robert convient le mieux (et c'est celui au prim'abord que je comprend le mieux ;))

Mais j'essaye les deux, promis. En tous cas, merci de votre aide...

A plus !!
 
C

Compte Supprimé 979

Guest
Re : Ouverture automatique du fichier le plus récent

Salut Ralph45

Je pense que le script de Robert convient le mieux (et c'est celui au prim'abord que je comprend le mieux)
Wouhaouuu !?
Perso, je le trouve très compliqué pour la finalité de ta demande

Si tes fichiers sont bien nommés comme tu nous les as donnés : L'année, puis le mois, puis le jour

en programmation "TOTO 2011-07-11.xls" sera toujours supérieur à "TOTO 2011-06-27.xls"
donc le plus récent !

C'est pour cela que dans mon code, j'ai mis
Code:
If Fic > MemFic Then MemFic = Fic
Je mémorise le fichier le plus récent, mais si tu ne comprends pas cela, j'en suis navré

A+
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Ouverture automatique du fichier le plus récent

Bonjour le fil, bonjour le forum,

Perso Bruno j'allais partir dans la même direction que toi mais je me suis souvenu avoir fait un truc similaire. J'ai recherché et je l'ai retrouvé. Je me suis dit qu'il n'était pas si compliqué à adapter. Il ne tient pas compte de l'ordre alphabétique mais de la date du jour qui est reculée d'un jour à chaque fois. Maintenant je t'avoue ne pas savoir si c'est plus ou moins efficace que ton code (j'ai horreur de m'amuser avec un chronomètre...). Mais je ne le trouve pas plus compliqué que le tien...
 

ralph45

XLDnaute Impliqué
Re : Ouverture automatique du fichier le plus récent

(re) Salut Bruno,

Regarde mon profil, j'ai eu un très bon prof en la matière il y a quelques années. J'ai de bonnes bases mais des lacunes sur ce qui semble plus simple. De plus, j'interviens en VBA qu'épisodiquement. Il faut que certaines choeses se dérouillent ou décantent...

:p
 
C

Compte Supprimé 979

Guest
Re : Ouverture automatique du fichier le plus récent

Re,

@Robert
je ne le trouve pas plus compliqué que le tiens
Comme quoi on dit bien, chacun voit midi à sa porte ;)

@ralph45
j'ai eu un très bon prof en la matière il y a quelques années
Effectivement, celui que perso je surnomme : Mister robot :) :)
Il faut que certaines choeses se dérouillent ou décantent
Effectivement :)

No soucy les gars, c'était juste une petite remarque comme ça

A+
 
C

Compte Supprimé 979

Guest
Re : Ouverture automatique du fichier le plus récent

Re Robert,

Ha... Pour voir le midi je suis mieux placé qu'a Montargis...
hahaha, celle-là elle est vraiment trop facile
applo.gif
ptdr.gif


Au plaisir
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Ouverture automatique du fichier le plus récent

Bonsoir le fil, bonsoir le forum,

Ben oui Bruno tu m'as déjà vu en faire des difficiles... ? Je fais avec mon cerverau de crevette et pas plus. Mais je vais faire un effort... Je vais me faire greffer un cerveau de homard (allusion au fil des blagues de Brigitte).
 

Discussions similaires

Réponses
2
Affichages
511

Statistiques des forums

Discussions
312 109
Messages
2 085 386
Membres
102 881
dernier inscrit
Talib