M
Matthieu
Guest
Code:
Re-Bonjour. J'arrive maintenant à enregistrer mesfeuilles en .txt dont le nom est une variable.
Mais la macro nomme systématiquement les fichiers .txt en ajoutant le nom du fichier.txt précédant
au nouveau (j'obtiens des noms de fichiers de 3 lignes...), avec le code suivant:
Sub essai()
Dim NomBrutTxt As String
Dim NouveauNom As String 'C'est le nom que je veux donner à mes fichiers .txt
Worksheets(4).Select
NomBrutTxt = ActiveWorkbook.Name & ActiveSheet.Name 'je concatene le nom du classeur et de la feuille
NouveauNom = Replace(NomBrutTxt, '.xls', ' ') 'je supprime l'extension .xls de ActiveWorkbook (parasite)
et j'obtiens nouveau nom de fichier, bien lisible
ActiveWorkbook.saveas Filename:='chemin\\' & NouveauNom, FileFormat:=xlText 'je sauve ma feuille(4) en .txt
'je fais la même chose avec la feuille suivante...(environ une dizaine de feuilles comme ça en tout).
Worksheets(5).Select
NomBrutTxt = ActiveWorkbook.Name & ActiveSheet.Name
NouveauNom = Replace(NomBrutTxt, '.xls', ' ')
ActiveWorkbook.saveas Filename:='chemin\\' & NouveauNom, FileFormat:=xlText
end sub
Pour forcer la macro à enregistrer correctement ces feuilles, je n'ai trouvé qu'une solution basique.
Après le traitement de chaque feuille, j'ajoute :
ActiveWorkbook.saveas Filename:='chemin\\'NomClasseurd'Origine', FileFormat:=xlNormal
ainsi, l'ActiveWorkbook appelé pour le traitement de la feuille suivante redevient mon Classeurd'Origine,
mais je perd toute la vélocité de l'application car j'enregistre une dizaine de fois
mon classeur qui est déjà lourd. Deplus la macro renomme systématiquement les
feuilles du classeur en y ajoutant le nom de celui ci!
Là, je n'sais plus du tout... j'ignore peut être une fonction ou une propriété...
J'aurais besoin des conseils d'un gars plutôt compétent, ne serai-ce que pour arriver à comprendre mon message!