Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pas de solution pour ma macro ??

6 réponses
Avatar
Eric C
Bonjour et meilleurs voeux à tous...

J'ai enegistré une macro en excel à l'aide de l'enregistreur de macros.

A partir d'un fichier qui contient du texte dans les cellules de ma
colonne A, j'enregistre sous... en choisissant le type de fichier .txt
(séparateur tab). La macro me crée un fichier .txt mais dès que je
l'ouvre dans le bloc notes, chaque ligne commence et se termine par "

Lorsque j'effectue le meme enregistrement en manuel sans la macro, le
texte est bien enregistré sans " devant ni derrière...
Une idée ??

Merci
Eric

Pour info, voici le texte de l'enregistrement dans la macro :
ActiveWorkbook.SaveAs Filename:= _
"C:\chemin\nomfichier.txt", FileFormat:=xlText, _
CreateBackup:=False

6 réponses

Avatar
Jean-Claude
"Eric C" a écrit dans le message de news:
4d236714$0$14260$
Bonjour et meilleurs voeux à tous...

J'ai enegistré une macro en excel à l'aide de l'enregistreur de macros.

A partir d'un fichier qui contient du texte dans les cellules de ma
colonne A, j'enregistre sous... en choisissant le type de fichier .txt
(séparateur tab). La macro me crée un fichier .txt mais dès que je l'ouvre
dans le bloc notes, chaque ligne commence et se termine par "

Lorsque j'effectue le meme enregistrement en manuel sans la macro, le
texte est bien enregistré sans " devant ni derrière...
Une idée ??

Merci
Eric

Pour info, voici le texte de l'enregistrement dans la macro :
ActiveWorkbook.SaveAs Filename:= _
"C:cheminnomfichier.txt", FileFormat:=xlText, _
CreateBackup:úlse



Bonjour,
pour ma part sous 2003, je n'ai pas de guillemets, ni manuellement, ni par
macro (qui est bien la même que la vôtre), que les cellules contiennent du
texte ou des chiffres.
Jean-Claude
Avatar
isabelle
bonjour Eric,

pour ma part sous 2002, je n'ai pas de guillemets non plus peu importe la méthode.
peut tu montrer ton fichier excel avant transformation ?

isabelle


Le 2011-01-04 13:29, Eric C a écrit :
Bonjour et meilleurs voeux à tous...

J'ai enegistré une macro en excel à l'aide de l'enregistreur de macros.

A partir d'un fichier qui contient du texte dans les cellules de ma
colonne A, j'enregistre sous... en choisissant le type de fichier .txt
(séparateur tab). La macro me crée un fichier .txt mais dès que je
l'ouvre dans le bloc notes, chaque ligne commence et se termine par "

Lorsque j'effectue le meme enregistrement en manuel sans la macro, le
texte est bien enregistré sans " devant ni derrière...
Une idée ??

Merci
Eric

Pour info, voici le texte de l'enregistrement dans la macro :
ActiveWorkbook.SaveAs Filename:= _
"C:cheminnomfichier.txt", FileFormat:=xlText, _
CreateBackup:úlse
Avatar
Eric C
Isabelle,

Merci pour l'attention.

Je suis également sous 2002.
Voici le lien du fichier xls et des macros utilisées pour les tests.
Le fichier classeur1.txt est obtenu avec la macro1 (enregistrement dans
la macro)
Le fichier creation liste.txt est obtenu avec la macro creation liste
(enregistrement manuel sous format texte : separateur tabulation)

http://cjoint.com/?0bfrdJSXqVB

C'est pas très important, j'enregistre en manuel, mais j'aime bien de
comprendre...

Merci !
Eric


Le 4/01/2011 20:08, isabelle a écrit :
bonjour Eric,

pour ma part sous 2002, je n'ai pas de guillemets non plus peu importe
la méthode.
peut tu montrer ton fichier excel avant transformation ?

isabelle


Le 2011-01-04 13:29, Eric C a écrit :
Bonjour et meilleurs voeux à tous...

J'ai enegistré une macro en excel à l'aide de l'enregistreur de macros.

A partir d'un fichier qui contient du texte dans les cellules de ma
colonne A, j'enregistre sous... en choisissant le type de fichier .txt
(séparateur tab). La macro me crée un fichier .txt mais dès que je
l'ouvre dans le bloc notes, chaque ligne commence et se termine par "

Lorsque j'effectue le meme enregistrement en manuel sans la macro, le
texte est bien enregistré sans " devant ni derrière...
Une idée ??

Merci
Eric

Pour info, voici le texte de l'enregistrement dans la macro :
ActiveWorkbook.SaveAs Filename:= _
"C:cheminnomfichier.txt", FileFormat:=xlText, _
CreateBackup:úlse
Avatar
isabelle
bonjour Eric,

on dirait bien que dès qu'il y a un espace ou une virgule, les guillemets s'ajoutent.
une autre solution serait d'utiliser FileSystemObject,
pour cette exemple la sélection est transférée dans le fichier txt "c:Classeur4.txt" non existant.
'il faut ajouter la référence : Microsoft Scripting Runtime.

Sub ÉcrireNouveauFichierTexte()
Dim oFSO As Scripting.FileSystemObject
Dim oFl As Scripting.File
Dim oTxt As Scripting.TextStream
Dim i As Integer
'Instanciation du FSO
Set FSys = CreateObject("Scripting.FileSystemObject")
Set oTxt = FSys.CreateTextFile("c:Classeur4.txt")
With oTxt 'Pour écrire dans le fichier texte
For i = 1 To Selection(Selection.Count).Row
.WriteLine Selection(i)
Next i
End With
End Sub

isabelle

Le 2011-01-05 11:09, Eric C a écrit :
Isabelle,

Merci pour l'attention.

Je suis également sous 2002.
Voici le lien du fichier xls et des macros utilisées pour les tests.
Le fichier classeur1.txt est obtenu avec la macro1 (enregistrement dans
la macro)
Le fichier creation liste.txt est obtenu avec la macro creation liste
(enregistrement manuel sous format texte : separateur tabulation)

http://cjoint.com/?0bfrdJSXqVB

C'est pas très important, j'enregistre en manuel, mais j'aime bien de
comprendre...

Merci !
Eric


Le 4/01/2011 20:08, isabelle a écrit :
bonjour Eric,

pour ma part sous 2002, je n'ai pas de guillemets non plus peu importe
la méthode.
peut tu montrer ton fichier excel avant transformation ?

isabelle


Le 2011-01-04 13:29, Eric C a écrit :
Bonjour et meilleurs voeux à tous...

J'ai enegistré une macro en excel à l'aide de l'enregistreur de macros.

A partir d'un fichier qui contient du texte dans les cellules de ma
colonne A, j'enregistre sous... en choisissant le type de fichier .txt
(séparateur tab). La macro me crée un fichier .txt mais dès que je
l'ouvre dans le bloc notes, chaque ligne commence et se termine par "

Lorsque j'effectue le meme enregistrement en manuel sans la macro, le
texte est bien enregistré sans " devant ni derrière...
Une idée ??

Merci
Eric

Pour info, voici le texte de l'enregistrement dans la macro :
ActiveWorkbook.SaveAs Filename:= _
"C:cheminnomfichier.txt", FileFormat:=xlText, _
CreateBackup:úlse





Avatar
Eric C
Isabelle,

Merci de me donner une solution, mais cela m'a l'air très compliqué pour
ce que je veux en faire, je continue à sauver à la main...

Mais je testerai quand même ta solution FSO, et au mieux, j'aurai appris
qu'il y avait moyen d'enregistrer du texte dans un fichier .txt à partir
d'excel, un peu à la manière de GWBasic il y a quelques années.... (clin
d'oeil nostalgique...)

A bientôt
Eric


Le 5/01/2011 22:16, isabelle a écrit :
bonjour Eric,

on dirait bien que dès qu'il y a un espace ou une virgule, les
guillemets s'ajoutent.
une autre solution serait d'utiliser FileSystemObject,
pour cette exemple la sélection est transférée dans le fichier txt
"c:Classeur4.txt" non existant.
'il faut ajouter la référence : Microsoft Scripting Runtime.

Sub ÉcrireNouveauFichierTexte()
Dim oFSO As Scripting.FileSystemObject
Dim oFl As Scripting.File
Dim oTxt As Scripting.TextStream
Dim i As Integer
'Instanciation du FSO
Set FSys = CreateObject("Scripting.FileSystemObject")
Set oTxt = FSys.CreateTextFile("c:Classeur4.txt")
With oTxt 'Pour écrire dans le fichier texte
For i = 1 To Selection(Selection.Count).Row
.WriteLine Selection(i)
Next i
End With
End Sub

isabelle

Le 2011-01-05 11:09, Eric C a écrit :
Isabelle,

Merci pour l'attention.

Je suis également sous 2002.
Voici le lien du fichier xls et des macros utilisées pour les tests.
Le fichier classeur1.txt est obtenu avec la macro1 (enregistrement dans
la macro)
Le fichier creation liste.txt est obtenu avec la macro creation liste
(enregistrement manuel sous format texte : separateur tabulation)

http://cjoint.com/?0bfrdJSXqVB

C'est pas très important, j'enregistre en manuel, mais j'aime bien de
comprendre...

Merci !
Eric


Le 4/01/2011 20:08, isabelle a écrit :
bonjour Eric,

pour ma part sous 2002, je n'ai pas de guillemets non plus peu importe
la méthode.
peut tu montrer ton fichier excel avant transformation ?

isabelle


Le 2011-01-04 13:29, Eric C a écrit :
Bonjour et meilleurs voeux à tous...

J'ai enegistré une macro en excel à l'aide de l'enregistreur de macros.

A partir d'un fichier qui contient du texte dans les cellules de ma
colonne A, j'enregistre sous... en choisissant le type de fichier .txt
(séparateur tab). La macro me crée un fichier .txt mais dès que je
l'ouvre dans le bloc notes, chaque ligne commence et se termine par "

Lorsque j'effectue le meme enregistrement en manuel sans la macro, le
texte est bien enregistré sans " devant ni derrière...
Une idée ??

Merci
Eric

Pour info, voici le texte de l'enregistrement dans la macro :
ActiveWorkbook.SaveAs Filename:= _
"C:cheminnomfichier.txt", FileFormat:=xlText, _
CreateBackup:úlse





Avatar
michdenis
Bonjour,

As-tu essayé ceci :

Dim CheminEtNomFichier As string
CheminEtNomFichier = "c:MonFichier.txt"

ThisWorkbook.SaveAs CheminEtNomFichier, FileFormat:=xlUnicodeText



MichD
--------------------------------------------
"Eric C" a écrit dans le message de groupe de discussion : 4d236714$0$14260$

Bonjour et meilleurs voeux à tous...

J'ai enegistré une macro en excel à l'aide de l'enregistreur de macros.

A partir d'un fichier qui contient du texte dans les cellules de ma
colonne A, j'enregistre sous... en choisissant le type de fichier .txt
(séparateur tab). La macro me crée un fichier .txt mais dès que je
l'ouvre dans le bloc notes, chaque ligne commence et se termine par "

Lorsque j'effectue le meme enregistrement en manuel sans la macro, le
texte est bien enregistré sans " devant ni derrière...
Une idée ??

Merci
Eric

Pour info, voici le texte de l'enregistrement dans la macro :
ActiveWorkbook.SaveAs Filename:= _
"C:cheminnomfichier.txt", FileFormat:=xlText, _
CreateBackup:úlse