Chemin de fichier en VBA avec date en working days -1

kabanon

XLDnaute Nouveau
Bonjour à tous

je cherche a ouvrir un fichier en VBA. Ce fichier est généré la veille, avec le nom de la veilleje dois donc recuperer la date de la veille dans le fichier:

Le nom du fichier est le suivant, par exemple pour le 15 juin 2011

h ttp://monintranet/blabla/blalablabla/%blma15%blajuin%bla2011.xls

ou le 21 fevrier 2010

h ttp://monintranet/blabla/blalablabla/%bla21%blafevrier%bla2010.xls

voila pour la structure du nom..

Les problematiques sont les suivantes: recuperer le fichier du dernier jour travaillé, gerer les changements de mois le 31 ...


j'essaie donc la macro suivante mais sans succes

sub youpiyou

Dim wb As Workbook
Dim ws As Worksheet
Set wb = Workbooks.Open("h ttp://monintranet/blabla/blalablabla/%bla & "=(WeekdayName(Weekday(Date))-1)" & "%bla" & "=(MonthName(Month(Date)))" & "%bla" & "=(DatePart(yyyy, Date)) & ".xls")
Set ws = wb.Worksheets(1)


end sub

Des idées ?

Un GRAND merci d'avance
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Chemin de fichier en VBA avec date en working days -1

Bonjour kabanon, bonjour le forum,

Peut-être comme ça :
Code:
Sub youpiyou()
Dim x As Integer 'déclare la variable x (incrément)
Dim da As Date 'déclare la variable da (Date Antérieure)
Dim wb As Workbook
Dim ws As Worksheet
 
x = 0 'initialise la variable x

début: 'étiquette
x = x + 1 'incrémente la variable x
da = Date - x 'définit la date de la veille (puis de l'avant-veille, etc.)
On Error Resume Next 'si le fichier n'existe pas passe à la ligne suivante
Set wb = Workbooks.Open("[I]Ce lien n'existe plus[/I]" & Day(da) & "%bla" & Month(da) & "%bla" & Year(da) & ".xls")
If Err > 0 Then GoTo début 'si une erreur est générée, va à l'étiquette début
On Error GoTo 0 'annule la gestion des erreurs
Set ws = wb.Worksheets(1)
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Chemin de fichier en VBA avec date en working days -1

Bonjour Kabanon, bonjour le forum,

Peut-être comme ça alors :
Code:
Sub youpiyou()
Dim x As Integer 'déclare la variable x (incrément)
Dim da As Date 'déclare la variable da (Date Antérieure)
Dim wb As Workbook
Dim ws As Worksheet
 
x = 0 'initialise la variable x
début: 'étiquette
x = x + 1 'incrémente la variable x
da = Date - x 'définit la date de la veille (puis de l'avant-veille, etc.)
'si la date est inférieure à 30 jours par rapport à aujourd'hui, message, sort de la procédure
If da < Date - 30 Then MsgBox "Fichier non trouvé": Exit Sub
On Error Resume Next 'si le fichier n'existe pas passe à la ligne suivante
Set wb = Workbooks.Open("[I]Ce lien n'existe plus[/I]" & Day(da) & "%bla" & Month(da) & "%bla" & Year(da) & ".xls")
If Err > 0 Then
    Err = 0 'annule l'erreur
    GoTo début 'si une erreur est générée, va à l'étiquette début
End If
On Error GoTo 0 'annule la gestion des erreurs
Set ws = wb.Worksheets(1)
End Sub
Chez moi ça tourne avec un chemin en dur...
 

kabanon

XLDnaute Nouveau
Re : Chemin de fichier en VBA avec date en working days -1

alors là un ENORME MERCI ! La macro se lance et cherhce un fichier avec une date qui ressemble au dernier jour ouvré !

.. mais j'ai toujours un probleme !! Voir 2 ... sinon ce ne serait pas drole !!

1 - Le champ "%bla" est part integrante du nom de fichier. Le vrai nom est en fait "%20" La macro ne prend pas en compte ce terme dans le nom de fichier et me recherche donc le fichier "http://monintranet/blabla/blalablabla/15 6 2001.xls
Il faudrait que j'ai %20 entre chaque terme. J'ai beau essayer toutes les syntaxes possibles.. je seche..

2 - Le mois doit s'inscrire en Lettre et non en chiffre ... mais ça je me suis tellement pris la tete sur le %20 que je n'ai honnetement pas pris la peine de chercher plus que ça... je sais c'est mal....

en revanche, je ne sais pas si je dois recreer un sujet pour ces 2 problemes?

En tous cas : MERCI
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 089
Membres
103 464
dernier inscrit
Inconnu2