Enregistrer un fichier texte en fichier xls [Résolu]

Signaler
Messages postés
15
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
28 octobre 2008
-
Messages postés
15
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
28 octobre 2008
-
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

Messages postés
15
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
28 octobre 2008

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
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
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 -- <
Messages postés
15
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
28 octobre 2008

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
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
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 -- <
Messages postés
15
Date d'inscription
vendredi 24 octobre 2008
Statut
Membre
Dernière intervention
28 octobre 2008

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
Messages postés
1229
Date d'inscription
vendredi 16 novembre 2007
Statut
Membre
Dernière intervention
16 juin 2009
1
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 -- <