VBA : ouverture d'un fichier txt dont le nom change-POST RESOLU

VBA : ouverture d'un fichier txt dont le nom change-POST RESOLU - VB/VBA/VBS - Programmation

Marsh Posté le 04-10-2005 à 10:22:57    

Bonjour,
 
Je cherche desesperemment à écrire une macro VBA d'ouverture de fichier.
La particularité est que ce fichier, déposé quotidiennement sur un serveur change de nom. Il prend le nom de la date du jour, au format : aaaammjj.txt.
 
Voici la macro actuelle, qui pointe vers un nom de fichier fixe.
Savez-vous comment je pourrais modifier cette macro pour qu'elle ouvre de facon dynamique le fichier du jour ?
 
Merci. :bounce:  :pt1cable:  :love:  
 
 
Workbooks.OpenText Filename:= _
        "R:\20051003.TXT", Origin _
        :=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
        xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
        Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
        Array(9, 1), Array(10, 1), Array(11, 4), Array(12, 4), Array(13, 1), Array(14, 1), Array(15 _
        , 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
        Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1)), _
        TrailingMinusNumbers:=True


Message édité par apeter le 06-10-2005 à 09:51:03
Reply

Marsh Posté le 04-10-2005 à 10:22:57   

Reply

Marsh Posté le 04-10-2005 à 10:48:21    

bonjour apeter,
 
je pense que ceci devrait t'aider pour mettre ton nom de fichier en variable :

Code :
  1. Dim mydate
  2. mydate = Date
  3. MsgBox (Format(mydate, Format:="yyyymmdd" ))


@+ et bon courage


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Marsh Posté le 04-10-2005 à 11:27:14    

Bonjour,
 
Merci pour ton message, mais je ne vois pas comment inserer cela dans ma macro. Je suis un tout petit débutant... Je mets CES TROIS LIGNES  avant Workbooks.OpenText  ???
Merci.

Reply

Marsh Posté le 04-10-2005 à 17:44:01    

Oups,
 
bon voila, si tu modifies ton bout de macro comme ci dessous :

Code :
  1. Dim monfichier, mydate
  2. mydate = date
  3. monfichier = "R\" &Format(mydate, Format:="yyyymmdd" ) &".TXT"[/b]
  4. Workbooks.OpenText Filename:= _
  5.         monfichier[/b], Origin _
  6.         :=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
  7.         xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
  8.         Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
  9.         Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), _
  10.         Array(9, 1), Array(10, 1), Array(11, 4), Array(12, 4), Array(13, 1), Array(14, 1), Array(15 _
  11.         , 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
  12.         Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1)), _
  13.         TrailingMinusNumbers:=True


 
je pense que ça ira. Si tu as un problème, indiques nous l'endroit ou ça bloque et le type d'erreur.
@+ et bon courage


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Marsh Posté le 04-10-2005 à 18:34:56    

WaTaShi,
 
MILLE MERCIS. CA MARCHE, et meme que ca marche tres bien.
Je vais passer une excellente nuit!

Reply

Marsh Posté le 05-10-2005 à 19:19:33    

Cool !  :bounce:  
 
Si tu édite le titre de ton post avec résolu ça pourra en aider d'autres ;)


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Marsh Posté le 06-10-2005 à 09:42:56    

Oui, tu as tout à fait raison.
J'avais d'ailleurs vu qu'on pouvait le faire...mais..je ne trouve pas comment, et pourtant, j'ai cherché!
Comment dois je faire pour valider la résolution ?
Merci.

Reply

Marsh Posté le 06-10-2005 à 09:46:28    

tu édite ton premier message (clique sur la petite feuille avec la gomme au bout du crayon) et tu ajoutes juste un "(résolu)" dedans ;)
 
bon courage


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed