Adapter macro pour sélection de fichier txt
Résolu/Fermé
kgigant
Messages postés
202
Date d'inscription
lundi 21 mars 2011
Statut
Membre
Dernière intervention
8 janvier 2014
-
Modifié par kgigant le 24/04/2013 à 13:15
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 - 25 avril 2013 à 09:00
kgigant Messages postés 202 Date d'inscription lundi 21 mars 2011 Statut Membre Dernière intervention 8 janvier 2014 - 25 avril 2013 à 09:00
A voir également:
- Adapter macro pour sélection de fichier txt
- Fichier rar - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier iso - Guide
2 réponses
kgigant
Messages postés
202
Date d'inscription
lundi 21 mars 2011
Statut
Membre
Dernière intervention
8 janvier 2014
9
24 avril 2013 à 16:10
24 avril 2013 à 16:10
voilà ma macro avec l'ajout du code pour importer le fichier txt dans le dossier comp dont la date est égale à celle d'aujourd'hui. Ce que je recherche c'est d'ajouter une boucle qui me permette de balayer tous les fichiers txts du dossier comp.
Sub a()
fDate = FileDateTime("H:\comp\SBO5275_100cl_20gr_245_B après-midi(2).txt")
' fDate contient la date et l'heure de
' dernière modification
If DateSerial(Year(fDate), Month(fDate), Day(fDate)) = _
DateSerial(Year(Now), Month(Now), Day(Now)) Then
MsgBox "Le fichier est d'aujourd'hui"
Dim Fichier As String, Chemin As String
Dim i As Long
Range("A1").Select
'Répertoire contenant les fichiers
Chemin = "H:\comp"
Fichier = Dir(Chemin & "\*.txt")
'Boucle sur les fichiers
Do While Fichier <> ""
i = Range("A65536").End(xlUp).Row + 1
ImportText Chemin & "\" & Fichier, Cells(i, 1)
Cells(i + 5, "P").Resize(20) = FileDateTime(Chemin & "\" & Fichier)
Fichier = Dir
Loop
Else
MsgBox "Le fichier n'est pas d'aujourd'hui"
End If
End Sub
merci
Sub a()
fDate = FileDateTime("H:\comp\SBO5275_100cl_20gr_245_B après-midi(2).txt")
' fDate contient la date et l'heure de
' dernière modification
If DateSerial(Year(fDate), Month(fDate), Day(fDate)) = _
DateSerial(Year(Now), Month(Now), Day(Now)) Then
MsgBox "Le fichier est d'aujourd'hui"
Dim Fichier As String, Chemin As String
Dim i As Long
Range("A1").Select
'Répertoire contenant les fichiers
Chemin = "H:\comp"
Fichier = Dir(Chemin & "\*.txt")
'Boucle sur les fichiers
Do While Fichier <> ""
i = Range("A65536").End(xlUp).Row + 1
ImportText Chemin & "\" & Fichier, Cells(i, 1)
Cells(i + 5, "P").Resize(20) = FileDateTime(Chemin & "\" & Fichier)
Fichier = Dir
Loop
Else
MsgBox "Le fichier n'est pas d'aujourd'hui"
End If
End Sub
merci
kgigant
Messages postés
202
Date d'inscription
lundi 21 mars 2011
Statut
Membre
Dernière intervention
8 janvier 2014
9
25 avril 2013 à 09:00
25 avril 2013 à 09:00
J'ai enfin trouver une bonne partie du code que je désire, en effet désormais lorsque je lance ma macro, elle fait une boucle sur tous les fichiers txts du dossiers comp. En fonction de la date de création/modification des fichiers txts (si elle est égale à la date du jour), elle m'importe le fichier txt sous excel.
Ce que je cherche maintenant, c'est d'importer les fichiers non plus selon la date du jour mais selon une date que je rentre quelque part !
Par exemple, importer tous les fichiers txt dont la date de création est supérieur au 01/01/2013
voilà la macro :
Sub a()
Dim Fichier As String, Chemin As String
Dim i As Long
'Répertoire contenant les fichiers
Chemin = "H:\comp"
Fichier = Dir(Chemin & "\*.txt")
'Boucle sur les fichiers
Do While Fichier <> ""
fDate = FileDateTime(Chemin & "\" & Fichier)
' fDate contient la date et l'heure de
' dernière modification
If DateSerial(Year(fDate), Month(fDate), Day(fDate)) = _
DateSerial(Year(Now), Month(Now), Day(Now)) Then
'MsgBox "Le fichier est d'aujourd'hui"
i = Range("A65536").End(xlUp).Row + 1
ImportText Chemin & "\" & Fichier, Cells(i, 1)
Cells(i + 5, "P").Resize(20) = FileDateTime(Chemin & "\" & Fichier)
Else
'MsgBox "Le fichier n'est pas d'aujourd'hui"
End If
Fichier = Dir
Loop
End Sub
Merci d'avance !
Ce que je cherche maintenant, c'est d'importer les fichiers non plus selon la date du jour mais selon une date que je rentre quelque part !
Par exemple, importer tous les fichiers txt dont la date de création est supérieur au 01/01/2013
voilà la macro :
Sub a()
Dim Fichier As String, Chemin As String
Dim i As Long
'Répertoire contenant les fichiers
Chemin = "H:\comp"
Fichier = Dir(Chemin & "\*.txt")
'Boucle sur les fichiers
Do While Fichier <> ""
fDate = FileDateTime(Chemin & "\" & Fichier)
' fDate contient la date et l'heure de
' dernière modification
If DateSerial(Year(fDate), Month(fDate), Day(fDate)) = _
DateSerial(Year(Now), Month(Now), Day(Now)) Then
'MsgBox "Le fichier est d'aujourd'hui"
i = Range("A65536").End(xlUp).Row + 1
ImportText Chemin & "\" & Fichier, Cells(i, 1)
Cells(i + 5, "P").Resize(20) = FileDateTime(Chemin & "\" & Fichier)
Else
'MsgBox "Le fichier n'est pas d'aujourd'hui"
End If
Fichier = Dir
Loop
End Sub
Merci d'avance !
25 avril 2013 à 08:55