VBA ENREGISTRER UNE FEUILLE EN FORMAT TXT

jeremy6812

XLDnaute Nouveau
Bonjour a tous

Je n'arrive pas a faire une VBA pour copier enregistrer une feuille active dans un format texte en fonction d 'un nom choisi je bloque ca ne marche pas si quelqu'un pouvais me venir en aide :)

j'ai un classeur qui doit comporter 8 feuilles

( impossible de le mettre ici , je l'ai relier avec une base de donnée externe microsoft QUERY )
le nom de mon fichier doit etre en feuille 6 ( cells (2,6) )

la feuille que je veux copier et enregistrer en format txt est la feuille active ou feuille 8

je veux copier enregistrer la feuille 8, en suivant un chemin specifique et enregistrer cette copy en format texte ( txt )

je bloque c'est tous ce que je suis arrivé a faire mais ca ne fonctionne pas..( je suis nul mais j'essaye de me format... :) )
Si quelqu'un pouvait m'aider :)


Sub Macro8()

Dim NomFichier As String, Chemin As String

Chemin = "C:\CGRC\"

NomFichier = Feuil6.Cells(2, 6).Value

ActiveWorksheet.SaveCopyAs Chemin & NomFichier & ".txt"

FileFormat:=xlText, CreateBackup:=False

MsgBox (NomFichier)

End Sub
 

youky(BJ)

XLDnaute Barbatruc
Salut Jeremy,
A tester car je ne l'ai pas fait.
En principe c'est bon.
Attention à la fin de la ligne......& ".txt" il faut (virgule espace et tiret_bas),
chose manquante dans ta macro . . .
Bruno
VB:
Sub Macro8()
Dim NomFichier As String, Chemin As String
Chemin = "C:\CGRC\"
NomFichier = Feuil6.Cells(2, 6).Value
ActiveSheet.Copy 'on copie l'onglet dans un nouveau fichier
'on enregistre le fichier en txt
ActiveWorksheet.SaveAs Chemin & NomFichier & ".txt", _
FileFormat:=xlText, CreateBackup:=False
MsgBox (NomFichier)
End Sub
 

Jacky67

XLDnaute Barbatruc
Bonjour,
Essaye comme ceci
Code:
Sub formatTXT()
Dim NomFichier As String, Chemin As String
Chemin = "C:\CGRC\"
NomFichier = Feuil6.Cells(2, 6).Value
Feuil8.Copy
ActiveWorkbook.SaveAs Chemin & NomFichier, FileFormat:=xlText
ActiveWorkbook.Close False
End Sub
 

youky(BJ)

XLDnaute Barbatruc
Bonjour aussi à Jacky,
En complément si le fichier existe déjà pour sortir du message sans bug
voici

Edit:OUPS !!!!avec essai le fichier créé n'ai pas supprimé à voir si Jérémy le souhaite.....
VB:
Sub Macro8()
Dim NomFichier As String, Chemin As String
Chemin = ThisWorkbook.Path & "\" '"C:\CGRC\"
NomFichier = Feuil6.Cells(2, 6).Value
ActiveSheet.Copy 'on copie l'onglet dans un nouveau fichier
'on enregistre le fichier en txt
On Error Resume Next ' on gère si le fichier existe déjà
ActiveWorkbook.SaveAs Chemin & NomFichier & ".txt", _
FileFormat:=xlText, CreateBackup:=False
If Err = 0 Then
MsgBox (NomFichier & ".txt a été créé !")
ActiveWorkbook.Close
End If
End Sub
Bruno
 
Dernière édition:

Jacky67

XLDnaute Barbatruc
Bonjour

Ca ne fonctionne pas , pour celle de jacky ( je te remercie de ton aide ) message d'erreur
et bruno la macro m'ouvre une copie de la page souhaiter en xls sans rien enregistrer en texte ,

vraiment je ne comprend rien la
Re..
Hello youky(BJ)
Quel est ce message d'erreur ?
Sur quelle ligne ?
Essaie la PJ
**Feuil6 et Feuil8 sont les "CodeName" des feuilles correspondantes
***Si cela devait ne pas fonctionner, mettre le classeur en ligne
 

Pièces jointes

  • chemin.xlsm
    24.9 KB · Affichages: 88
Dernière édition:

youky(BJ)

XLDnaute Barbatruc
Re avec rectif.
VB:
Sub Macro8()
Dim NomFichier As String, Chemin As String
Chemin = "C:\CGRC\"
NomFichier = Feuil6.Cells(2, 6).Value
ActiveSheet.Copy 'on copie l'onglet dans un nouveau fichier
'on enregistre le fichier en txt
onglet = ActiveWorkbook.Name
On Error Resume Next ' on gère si le fichier existe déjà
ActiveWorkbook.SaveAs Chemin & NomFichier & ".txt", _
FileFormat:=xlText, CreateBackup:=False
If Err = 0 Then
MsgBox (NomFichier & ".txt a été créé !")
ActiveWorkbook.Close
Else
Workbooks(onglet).Close False
End If
End Sub
Bruno
 

Discussions similaires

Réponses
2
Affichages
252
Réponses
2
Affichages
416

Statistiques des forums

Discussions
311 720
Messages
2 081 899
Membres
101 834
dernier inscrit
Jeremy06510