Reconnaissance d'une date dans un nom de fichier

Résolu
Signaler
Messages postés
2
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
18 mars 2008
-
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
-
Bonjour,

je développe actuellement une petite application pour le boulot

et j'aimerais avoir votre aide.

Cette application doit traiter des fichiers dont le nom a la syntaxe

suivante : année_mois_jour_heure_minute.xls (par exemple :

2008_03_14_15_02.xls).

J'arrive sans problème à supprimer le ".xls". Mais j'aimerais que le

programme soit capable de reconnaitre la date et l'heure contenues

dans le nom du fichier. Quelqu'un aurait-il une idée de la façon dont

je pourrais m'y prendre ?

Merci de votre aide.

GJ

4 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Si c'est toujours le meme forma rien de plus simple.
Adapte ceci
Private Sub Form_Load()
MsgBox GetFileDate("2008_03_14_15_02.xls")
End Sub<hr />

Public Function GetFileDate(NomFichier As String) As Date
Dim Crt As String
Dim DParts() As String

   Crt = Mid(NomFichier, 1, InStr(1, NomFichier, ".") - 1)
   DParts = Split(Crt, "_")
   
   Crt = DateSerial(DParts(0), DParts(1), DParts(2)) & " " & TimeSerial(DParts(3), DParts(4), 0)
   GetFileDate = CDate(Crt)
End Function , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Tu parles de Excel.
C'est donc du VBA, pas du vb.Net --> Modif de la catégorie de la question

Pour découper la chaine du nom du fichier, utilise l'instruction Mid, exemple : Année = Mid(NomFichier, 1, 4)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Ou encore :

Dim titi As String, pos As Integer, tata As String
 titi = "2008_03_14_15_02.xls)"
 pos = InStr(titi, ".")
 Mid(titi, pos - 3, 1) = ":"
 Mid(titi, pos - 6, 1) = " "
 tata = Replace(Left(titi, pos - 1), "_", "/")
 MsgBox tata
Messages postés
2
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
18 mars 2008

OK merci pour vos réponses rapides.
Pour la catégorie, je suis désolé mais j'ai
fait ça un peu vite.

Encore merci pour la rapidité de vos réponses.

a+

GJ