Ouverture de fichiers en incrémentant la date

Fermé
vba1005 Messages postés 1 Date d'inscription mercredi 13 juillet 2016 Statut Membre Dernière intervention 13 juillet 2016 - 13 juil. 2016 à 03:58
 vba1005 - 2 août 2016 à 16:24
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

3 réponses

michel_m Messages postés 16593 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 7 mars 2023 3 291
13 juil. 2016 à 08:38
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
Bonjour michel_m

Je travaille sous Excel

Merci
0
michel_m Messages postés 16593 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 7 mars 2023 3 291
Modifié par michel_m le 15/07/2016 à 08:44
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
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