Enregistrer un fichier texte en fichier xls

Résolu
jbb0306 Messages postés 15 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 28 octobre 2008 - 27 oct. 2008 à 14:22
jbb0306 Messages postés 15 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 28 octobre 2008 - 28 oct. 2008 à 16:33
Bonjour,

Je travaille sur un fichier txt depuis Excel sur lequel je lance une macro VBA. Je souhaiterai que la derniere étape de la macro soit d'enregistrer le classeur avec le même nom mais avec une exctension ".xls" au lieu de ".txt" mais je n'arrive pas a faire cela.

Pourriez vous me donner un coup de main.

Merci d'avance,

jbb0306

6 réponses

jbb0306 Messages postés 15 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 28 octobre 2008
28 oct. 2008 à 16:33
J'ai réussi en utilisant :

    chemin = ActiveWorkbook.Path
    Name = ActiveWorkbook.Name
    name2 = Left(Name, Len(Name) - 3)
    nameok = name2 & "xls"
    Cells(1, 1).Select
    ActiveWorkbook.SaveAs Filename:= _
        chemin & "" & nameok _
        , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False

jbb0306
3
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
27 oct. 2008 à 14:35
Bonjour,

'--Enregistrement du fichier
    Set FSave = CreateObject("Scripting.FileSystemObject")
    Set MonSave = FSave.CreateTextFile("nom de mon fichier" & ".xls")
       '--> inserer les lignes à enregistrer...
    MonSave.WriteLine tb
    
    '-- On ferme le fichier dans lequel on enregistre toutes les commandes lancées
    MonSave.Close
    Set FSave = Nothing

Mais je pense que : objet.save fonctionne aussi...

Bon courage

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0
jbb0306 Messages postés 15 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 28 octobre 2008
27 oct. 2008 à 14:59
En fait le pb c'est que la macro sera lancée sur plusieurs fichiers qui sont dans des répertoires différents et avec des noms différents. Je voudrai, si possible, que la macro récupère le path et le nom du fichier courant pour enregistrer dans le meme repertoire, le meme nom de fichier mais avec l'extension ".xls" au lieu de ".txt".

Merci,

jbb0306
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
27 oct. 2008 à 15:05
Alors on va essayer de mettre un peu d'ordre...
Tu as un fichier excel, sur laquelle tu fais x traitements, a la fin de l'execution de ta macro tu souhaite enregistrer ton fichier excel modifié ou ton fichier texte???
Au vu de ton 2eme message je dirai le fichier texte.
Est-ce que ta macro récupère le chemin d'accès quand tu utilises le fichier texte?
C'est juste une copie de ton fichier texte qui n'aura plus l'extension .txt mais .xls?

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jbb0306 Messages postés 15 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 28 octobre 2008
27 oct. 2008 à 15:10
En fait je travaille sur un fichier texte, et je veux à la fin des traitements l'enregistrer en xls.

Le pb c'est que l'ouverture du fichier et le lancement de la macro est effectuée par un logiciel externe (par des liens DDE), ce qui fait que je n'ai pas le chemin d'accès ni le nom du fichier dans VB. Je voulais savoir s'il était possible de les recuperer par des variables systemes pour que je puis depuis vb réenregistrer le fichier en xls.

Merci,

jbb0306
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
27 oct. 2008 à 15:17
Si tu as juste le nom du fichier, tu peux faire une recherche du fichier. En vb tu passe par les api, en vba je sais pas comment ca fonctionne.
Ensuite tu peux a la rigueur stocker les infos dans une sorte de recordset dynamique pour les restructurer et les enregistrer en format xls...

S.L.B.
<hr />-- Le règlement tu liras -- Des recherches tu feras -- Le style SMS tu banniras --
-- De la validation pertinente tu feras -- Du respect tu auras -- <
0
Rejoignez-nous