Ouverture de fichiers en incrémentant la date

vba1005 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 vba1005 -
Bonjour,

J'aimerai ouvrir des fichiers qui contiennent des valeurs journalières afin d'en extraire 24 (une valeur par heure) afin de suivre mes paramètres de P et T sur 250h ou 500h, le type de fichier est : temperature_10_04_2016 mon pb est que j'incrémente les jours et pas les mois donc quand je change de mois ma méthode ne marche plus...

Avez vous une méthode ou un code qui me permettrait d'ouvrir les fichiers temperature_10_04_2016 jusqu'au temperature_16_05_2016 ??

Merci d'avance pour votre aide
A voir également:

3 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

Excel, Access, open-office, etc. ?

au besoin
Mettre le fichier sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci par un clic droit sur le lien proposé dans le message de réponse


0
vba1005
 
Bonjour michel_m

Je travaille sous Excel

Merci
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

attention a la version Excel :xls ou xlsx, xlsm....
et a la définition des 2 fichiers, ici en direct pour la démo

Option Explicit
'------------------------------------------------------------
Function dater(fich As String) As Long
Dim separe
fich = Left(fich, Len(fich) - 5) '5: xl>=2007 sinon 4
separe = Split(fich, "_")
dater = CLng(DateSerial(separe(3), separe(2), separe(1)))
End Function

'--------------------------------------------------------------------------
Sub sélectionner_fichiers()
Dim fichier1 As String, fichier2 As String, journee1 As Date, journee2 As Date
Dim Cptr As Long
fichier1 = "temperature_15_07_2016.xlsx"
journee1 = dater(fichier1)
fichier2 = "temperature_16_10_2016.xlsx"
journee2 = dater(fichier2)
'-------actions
End Sub

 Michel
0
vba1005
 
Bonjour,
Merci de votre réponse (et désolé pour le retard)
Je suis débutant en VBA et je ne comprend la parie de votre fonction (cf copier/coller ci dessous) , pouvez vous m'expliquer s'il vous plaît ??

en vous remerciant d avance


Option Explicit
'------------------------------------------------------------
Function dater(fich As String) As Long
Dim separe
fich = Left(fich, Len(fich) - 5)
separe = Split(fich, "_")
dater = CLng(DateSerial(separe(3), separe(2), separe(1)))
End Function
0