Adapter macro pour sélection de fichier txt
Résolu
kgigant
Messages postés
223
Statut
Membre
-
kgigant Messages postés 223 Statut Membre -
kgigant Messages postés 223 Statut Membre -
Bonjour,
En cherchant sur internet j'ai trouvé une macro que je pense pouvoir exploiter dans mon fichier. Cette macro permet de savoir si un fichier txt à été créé aujourd'hui, puis en fonction du résultat l'importer ou non.
voilà la macro :
Sub a()
fDate = FileDateTime("H:\comp\fichier1.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"
Else
MsgBox "Le fichier n'est pas d'aujourd'hui"
End If
End Sub
Est-il possible dans un premier temps de modifier cette macro en insérant une boucle afin qu'il réalise ce test pour tous les fichiers txts du dossier "comp" ?
Dans un deuxième temps de choisir par rapport à quelle date je veux comparer les fichiers ( à la place de la date du jour)
Merci de votre aide
En cherchant sur internet j'ai trouvé une macro que je pense pouvoir exploiter dans mon fichier. Cette macro permet de savoir si un fichier txt à été créé aujourd'hui, puis en fonction du résultat l'importer ou non.
voilà la macro :
Sub a()
fDate = FileDateTime("H:\comp\fichier1.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"
Else
MsgBox "Le fichier n'est pas d'aujourd'hui"
End If
End Sub
Est-il possible dans un premier temps de modifier cette macro en insérant une boucle afin qu'il réalise ce test pour tous les fichiers txts du dossier "comp" ?
Dans un deuxième temps de choisir par rapport à quelle date je veux comparer les fichiers ( à la place de la date du jour)
Merci de votre aide
A voir également:
- Adapter macro pour sélection de fichier txt
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
2 réponses
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
223
Statut
Membre
9
Ne tenez plus compte de ce message j'ai trouver en partie une solution ci dessous
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 !