Récupérer date vba

Résolu
happy4u Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   -  
happy4u Messages postés 39 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un code qui permets de récupérer le fichier le plus récent dans un dossier. Ce fichier est sous format alpha20012017 (alphaDATE).

Est -t-il possible de récupérer la date du ficheir? Merci de votre aide.

Sub FichierLePlusRécent()

Dim rep As String                 'Répertoire
Dim fic As String                 'Fichier
Dim daR As Date                   'Date fichier récent
Dim nom As String                 'Nom fichier récent


rep = "N:\Dossier\" & _
        "Mes_docs\"
  fic = "alpha_*.xls"
  daR = 0
  nom = ""
  fic = Dir(rep & fic)
  Do While fic <> ""
    If daR < FileDateTime(rep & fic) Then
      'mémoriser le nom du fichier le plus récent
      daR = FileDateTime(rep & fic)
      nom = fic
    End If
    fic = Dir
  Loop
'  If nom <> "" Then
'    MsgBox nom
'    Workbooks.Open rep & "\" & nom
'  End If

If nom <> "" Then
    MsgBox nom '' je voudrai récupérer la date pas le nom

End If

Workbooks.Open rep & "\" & nom



End Sub

2 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Re,

Merci de baliser le code :


0
happy4u Messages postés 39 Date d'inscription   Statut Membre Dernière intervention  
 
C'est bon, il est balisé
Merci
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Par exemple :
  If nom <> "" Then
    str = Split(nom, ".")(UBound(Split(nom, ".")) - 1)
    str = Split(str, "-")(UBound(Split(str, "-")))
    str = Left(str, 2) & "/" & Mid(str, 3, 2) & "/" & Mid(str, 5)
    MsgBox CDate(str)
  End If

EDIT : si la date est précédée d'un -
et si c'est un _ :
  If nom <> "" Then
    str = Split(nom, ".")(UBound(Split(nom, ".")) - 1)
    str = Split(str, "_")(UBound(Split(str, "_")))
    str = Left(str, 2) & "/" & Mid(str, 3, 2) & "/" & Mid(str, 5)
    MsgBox CDate(str)
  End If

Cordialement
Patrice
0
happy4u Messages postés 39 Date d'inscription   Statut Membre Dernière intervention  
 
ça mache nickel ;)
3éme topic résolu grâce à toi. Merci pour tes efforts
0