Bonjour à tous,
J'ai créé une macro qui me permet d'importer un fichier csv vers excel et elle fonctionne trés bien.
Ce que je voudrais faire, c'est d'automatiser le chemin vers le fichier source.
ma source est la suivante :
Sachant que j'importe toujours le fichier généré en M-2 ( on est en mois d'octobre donc je dois importer celui du mois d'aout )
Code : Sélectionner tout - Visualiser dans une fenêtre à part Fichier = "\\srvdatasdr-prod\madonne_prod$\Madonne_Output\Seuil\Sent\PL_20150803.csv.20150804-090045"
Pour trouver le fichier source, je dois prendre en compte l'année et le mois (dans mon exemple en haut "201508" ) tout le reste n'est pas important.
Comment je peux lui specifier le chemin afin que le programme importe toujours celui du M-2 ?
j'ai pensé a procéder comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim Dat As Date Dat = DateSerial(Year(Date), Month(Date) - 2, Day(Date)) Fichier = "\\srvdatasdr-prod\madonne_prod$\Madonne_Output\Seuil\Sent\PL_" & format(Dat, yyymmdd)" & ".csv.20150804-090045"
bien evidament, ce code ne fonctionne pas, c'est juste pour vous donner une idée. En gros, j'aimerais savoir si on peut mettre genre une etoile pour remplacer tous les autres caractéres qui ne compte pas ?
Merci pour vos réponses.
voici le code en entier:
Cordialement,
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 Sub import() Dim W As Worksheet Dim Plage As Range Dim Fichier As String Dim Dat As Date Dat = DateSerial(Year(Date), Month(Date) - 2, Day(Date)) Application.ScreenUpdating = False Fichier = "\\srvdatasdr-prod\madonne_prod$\Madonne_Output\Seuil\Sent\PL_20150803.csv.20150804-090045" Set W = Worksheets("Raw Data") W.Activate With W With .QueryTables.Add("TEXT;" & Fichier, Range("A1")) .RefreshStyle = xlOverwriteCells .TextFileOtherDelimiter = "|" .Refresh False .Delete '<supprime la liaison End With End With Set W = Worksheets("CPN1") W.Activate Application.ScreenUpdating = True End Sub
Freudsw
Partager