Bonjour à tous ,
Je souhaite importer des fichiers texte sur EXCEL de manière automatique avec VBA Excel.
auparavant j'utilisait un code Vba ACCESS avec la fonction Dir pour importé de matière automatique le fichier le plus récent de mon répertoire.
Je veux adapter ce même code pour importer des fichiers texte sur Excel, de manière à toujours importer le dernier fichier enregistré sur le répertoire.
mes fichiers sont enregistrés sous cette forme:ANOMALIE_TELEREG_D150504_T2259.TXT
D150504=correspond à la date du jour
T2259= l'heure d'enregistrement du fichier
Ci-dessous le code qui me permet de lire mon fichier:
Comment associer ce code avec ce suit pour importé mon fichier Excel de manière automatique?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 Public Function ImportationAutomatique() 'Déclaration de variables Dim StrFichier As String Const CHEMIN_FICHIER As String = "\\Winsab\diffusion\Batch\E0UG\GRECCO\Encaissement\Telereglement\ano\" Dim MaDate As String Dim OldStrFichier As String 'Initialisation StrFichier = Dir(CHEMIN_FICHIER & "\ANOMALIE_TELEREG_D*.TXT") While StrFichier <> "" If OldStrFichier < StrFichier Then OldStrFichier = StrFichier StrFichier = Dir() Wend MsgBox OldStrFichier If MsgBox("Confirmez-vous l'importation de la table Tache?", vbQuestion + vbYesNo) = vbNo Then Exit Function End If MsgBox ("NOM FICHIER = " & OldStrFichier) 'Verifier que le fichier existe bien If OldStrFichier = "" Then MsgBox "le fichier" & OldStrFichier & " est introuvable!", vbExclamation Exit Function End If MsgBox "le fichier" & OldStrFichier & " a bien ete trouvé!", vbExclamation End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub ImportText(FileName As String, PosImport As Range) Dim QT As QueryTable Set QT = ActiveSheet.QueryTables.Add(Connection:="TEXT;" & FileName, Destination:=PosImport) With QT .TextFileSemicolonDelimiter = True .TextFileTextQualifier = xlTextQualifierDoubleQuote .Refresh End With End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Sub test() ImportText Dir(CHEMIN_FICHIER & "\ANOMALIE_TELEREG_D*.TXT"), Range("A1") End Sub
C'est la fonction Dir qu'il ne reconnait pas, si j'indique chemin complet :
ça marche, mais ne résout pas mon problème, mon fichier change avec la date et l'heure d'enregistrement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ImportText "\\Winsab\diffusion\Batch\E0UG\GRECCO\Encaissement\Telereglement\ano\ANOMALIE_TELEREG_D150427_T2158.TXT", Range("A1")
Je veux à chaque import il m'importe le dernier fichier enregistré.
Merci par avance.
Cdt
Partager