Bonjour Jac,
Quand tu fais enregistrer sous, tu sélectionnes dans la liste
déroulante - type de fichier- Texte unicode(*.txt) et cela
fonctionne bien !
Si tu désires, tu peux utiliser ceci : une petite macro :
Si tu veux sauvegarder tes données avec un format particulier,
tu peux utiliser la fonction "Format()" pour formater chacune des
données de la plage dans la procédure.
'-----------------------------------------
Sub SaveAsTextFile()
Dim C As Variant
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String
Dim Separateur As String
'Tu choisis le séparateur de ton choix
Separateur = vbTab
'Plage à copier
With Worksheets("Feuil1")
C = Range("A1:C6")
End With
fFilename = _
Application.GetSaveAsFilename(InitialFileName:="nom_par_defaut", _
fileFilter:="Text Files (*.txt), *.txt")
Open fFilename For Output As #1
For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Separateur & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
Close #1
Erase C
End Sub
'-----------------------------------------
"Jac" a écrit dans le message de groupe de discussion :
Bonjour à tous,
je veux enregistrer mon fichier actif au format
Texte (séparateur: tabulation)(*.txt)
que je trouve dans la liste des types de fichiers lors d'un
"Enregistrer sous...", mais que je ne retrouve ni via l'enregistreur de
macros ni dans la liste 43 formats possibles tels que décrits dans
l'aide sous "FileFormat, propriété".
J'ai essayé (je pense) tous les formats qui me semblent enregistrer en
txt. En vain. Problème : les séparateurs de milliers sont remplacés par
des virgules et les nombres sont placés entre double cottes.
Exemple : 12 000 devient "12,000"
Et certains formats txt, souvent les "Dos", remplacent les caractères
accentués par d'autres signes.
Merci d'avance à qui pourrait m'orienter vers la solution qui doit être
devant mes yeux, mais que je ne vois pas...
Jac
Bonjour Jac,
Quand tu fais enregistrer sous, tu sélectionnes dans la liste
déroulante - type de fichier- Texte unicode(*.txt) et cela
fonctionne bien !
Si tu désires, tu peux utiliser ceci : une petite macro :
Si tu veux sauvegarder tes données avec un format particulier,
tu peux utiliser la fonction "Format()" pour formater chacune des
données de la plage dans la procédure.
'-----------------------------------------
Sub SaveAsTextFile()
Dim C As Variant
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String
Dim Separateur As String
'Tu choisis le séparateur de ton choix
Separateur = vbTab
'Plage à copier
With Worksheets("Feuil1")
C = Range("A1:C6")
End With
fFilename = _
Application.GetSaveAsFilename(InitialFileName:="nom_par_defaut", _
fileFilter:="Text Files (*.txt), *.txt")
Open fFilename For Output As #1
For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Separateur & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
Close #1
Erase C
End Sub
'-----------------------------------------
"Jac" <jsansp@amfra.net> a écrit dans le message de groupe de discussion :
eelCjunbKHA.3768@TK2MSFTNGP04.phx.gbl...
Bonjour à tous,
je veux enregistrer mon fichier actif au format
Texte (séparateur: tabulation)(*.txt)
que je trouve dans la liste des types de fichiers lors d'un
"Enregistrer sous...", mais que je ne retrouve ni via l'enregistreur de
macros ni dans la liste 43 formats possibles tels que décrits dans
l'aide sous "FileFormat, propriété".
J'ai essayé (je pense) tous les formats qui me semblent enregistrer en
txt. En vain. Problème : les séparateurs de milliers sont remplacés par
des virgules et les nombres sont placés entre double cottes.
Exemple : 12 000 devient "12,000"
Et certains formats txt, souvent les "Dos", remplacent les caractères
accentués par d'autres signes.
Merci d'avance à qui pourrait m'orienter vers la solution qui doit être
devant mes yeux, mais que je ne vois pas...
Jac
Bonjour Jac,
Quand tu fais enregistrer sous, tu sélectionnes dans la liste
déroulante - type de fichier- Texte unicode(*.txt) et cela
fonctionne bien !
Si tu désires, tu peux utiliser ceci : une petite macro :
Si tu veux sauvegarder tes données avec un format particulier,
tu peux utiliser la fonction "Format()" pour formater chacune des
données de la plage dans la procédure.
'-----------------------------------------
Sub SaveAsTextFile()
Dim C As Variant
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String
Dim Separateur As String
'Tu choisis le séparateur de ton choix
Separateur = vbTab
'Plage à copier
With Worksheets("Feuil1")
C = Range("A1:C6")
End With
fFilename = _
Application.GetSaveAsFilename(InitialFileName:="nom_par_defaut", _
fileFilter:="Text Files (*.txt), *.txt")
Open fFilename For Output As #1
For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Separateur & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
Close #1
Erase C
End Sub
'-----------------------------------------
"Jac" a écrit dans le message de groupe de discussion :
Bonjour à tous,
je veux enregistrer mon fichier actif au format
Texte (séparateur: tabulation)(*.txt)
que je trouve dans la liste des types de fichiers lors d'un
"Enregistrer sous...", mais que je ne retrouve ni via l'enregistreur de
macros ni dans la liste 43 formats possibles tels que décrits dans
l'aide sous "FileFormat, propriété".
J'ai essayé (je pense) tous les formats qui me semblent enregistrer en
txt. En vain. Problème : les séparateurs de milliers sont remplacés par
des virgules et les nombres sont placés entre double cottes.
Exemple : 12 000 devient "12,000"
Et certains formats txt, souvent les "Dos", remplacent les caractères
accentués par d'autres signes.
Merci d'avance à qui pourrait m'orienter vers la solution qui doit être
devant mes yeux, mais que je ne vois pas...
Jac
Bonjour Jac,
Quand tu fais enregistrer sous, tu sélectionnes dans la liste
déroulante - type de fichier- Texte unicode(*.txt) et cela
fonctionne bien !
Si tu désires, tu peux utiliser ceci : une petite macro :
Si tu veux sauvegarder tes données avec un format particulier,
tu peux utiliser la fonction "Format()" pour formater chacune des
données de la plage dans la procédure.
'-----------------------------------------
Sub SaveAsTextFile()
Dim C As Variant
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String
Dim Separateur As String
'Tu choisis le séparateur de ton choix
Separateur = vbTab
'Plage à copier
With Worksheets("Feuil1")
C = Range("A1:C6")
End With
fFilename = _
Application.GetSaveAsFilename(InitialFileName:="nom_par_defaut", _
fileFilter:="Text Files (*.txt), *.txt")
Open fFilename For Output As #1
For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Separateur & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
Close #1
Erase C
End Sub
'-----------------------------------------
"Jac" a écrit dans le message de groupe de discussion :
Bonjour à tous,
je veux enregistrer mon fichier actif au format
Texte (séparateur: tabulation)(*.txt)
que je trouve dans la liste des types de fichiers lors d'un
"Enregistrer sous...", mais que je ne retrouve ni via l'enregistreur de
macros ni dans la liste 43 formats possibles tels que décrits dans
l'aide sous "FileFormat, propriété".
J'ai essayé (je pense) tous les formats qui me semblent enregistrer en
txt. En vain. Problème : les séparateurs de milliers sont remplacés par
des virgules et les nombres sont placés entre double cottes.
Exemple : 12 000 devient "12,000"
Et certains formats txt, souvent les "Dos", remplacent les caractères
accentués par d'autres signes.
Merci d'avance à qui pourrait m'orienter vers la solution qui doit être
devant mes yeux, mais que je ne vois pas...
Jac
Bonjour Jac,
Quand tu fais enregistrer sous, tu sélectionnes dans la liste
déroulante - type de fichier- Texte unicode(*.txt) et cela
fonctionne bien !
Si tu désires, tu peux utiliser ceci : une petite macro :
Si tu veux sauvegarder tes données avec un format particulier,
tu peux utiliser la fonction "Format()" pour formater chacune des
données de la plage dans la procédure.
'-----------------------------------------
Sub SaveAsTextFile()
Dim C As Variant
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String
Dim Separateur As String
'Tu choisis le séparateur de ton choix
Separateur = vbTab
'Plage à copier
With Worksheets("Feuil1")
C = Range("A1:C6")
End With
fFilename = _
Application.GetSaveAsFilename(InitialFileName:="nom_par_defaut", _
fileFilter:="Text Files (*.txt), *.txt")
Open fFilename For Output As #1
For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Separateur & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
Close #1
Erase C
End Sub
'-----------------------------------------
"Jac" <jsansp@amfra.net> a écrit dans le message de groupe de discussion :
eelCjunbKHA.3768@TK2MSFTNGP04.phx.gbl...
Bonjour à tous,
je veux enregistrer mon fichier actif au format
Texte (séparateur: tabulation)(*.txt)
que je trouve dans la liste des types de fichiers lors d'un
"Enregistrer sous...", mais que je ne retrouve ni via l'enregistreur de
macros ni dans la liste 43 formats possibles tels que décrits dans
l'aide sous "FileFormat, propriété".
J'ai essayé (je pense) tous les formats qui me semblent enregistrer en
txt. En vain. Problème : les séparateurs de milliers sont remplacés par
des virgules et les nombres sont placés entre double cottes.
Exemple : 12 000 devient "12,000"
Et certains formats txt, souvent les "Dos", remplacent les caractères
accentués par d'autres signes.
Merci d'avance à qui pourrait m'orienter vers la solution qui doit être
devant mes yeux, mais que je ne vois pas...
Jac
Bonjour Jac,
Quand tu fais enregistrer sous, tu sélectionnes dans la liste
déroulante - type de fichier- Texte unicode(*.txt) et cela
fonctionne bien !
Si tu désires, tu peux utiliser ceci : une petite macro :
Si tu veux sauvegarder tes données avec un format particulier,
tu peux utiliser la fonction "Format()" pour formater chacune des
données de la plage dans la procédure.
'-----------------------------------------
Sub SaveAsTextFile()
Dim C As Variant
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String
Dim Separateur As String
'Tu choisis le séparateur de ton choix
Separateur = vbTab
'Plage à copier
With Worksheets("Feuil1")
C = Range("A1:C6")
End With
fFilename = _
Application.GetSaveAsFilename(InitialFileName:="nom_par_defaut", _
fileFilter:="Text Files (*.txt), *.txt")
Open fFilename For Output As #1
For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Separateur & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
Close #1
Erase C
End Sub
'-----------------------------------------
"Jac" a écrit dans le message de groupe de discussion :
Bonjour à tous,
je veux enregistrer mon fichier actif au format
Texte (séparateur: tabulation)(*.txt)
que je trouve dans la liste des types de fichiers lors d'un
"Enregistrer sous...", mais que je ne retrouve ni via l'enregistreur de
macros ni dans la liste 43 formats possibles tels que décrits dans
l'aide sous "FileFormat, propriété".
J'ai essayé (je pense) tous les formats qui me semblent enregistrer en
txt. En vain. Problème : les séparateurs de milliers sont remplacés par
des virgules et les nombres sont placés entre double cottes.
Exemple : 12 000 devient "12,000"
Et certains formats txt, souvent les "Dos", remplacent les caractères
accentués par d'autres signes.
Merci d'avance à qui pourrait m'orienter vers la solution qui doit être
devant mes yeux, mais que je ne vois pas...
Jac
La solution à partir du menu Fichier qui existe dans
excel (windows7 et office 2007), je n'ai rien à retoucher
et il respecte le format et la tabulation !
Par macro, ça donne ceci :
ActiveWorkbook.SaveAs Filename:="C:Classeur3.txt", FileFormat:=xlText
"Jac" a écrit dans le message de groupe de discussion :
#
Bonjour michdenis,
ok pour ta solution, mais ce qui m'embête, c'est que je voulais faire
un "truc" généraliste, sans formatage particulier, c'est pour celà que
je cours après l'équivalence vba de
"Texte (séparateur: tabulation)(*.txt)".
Les autres trafiquent les formats de nombre (je peux résoudre en
enlevant le séparateur de milliers... mais j'aimerais mieux m'en
passer) ou suppriment les caractères accentués.
michdenis vient de nous annoncer :Bonjour Jac,
Quand tu fais enregistrer sous, tu sélectionnes dans la liste
déroulante - type de fichier- Texte unicode(*.txt) et cela
fonctionne bien !
Si tu désires, tu peux utiliser ceci : une petite macro :
Si tu veux sauvegarder tes données avec un format particulier,
tu peux utiliser la fonction "Format()" pour formater chacune des
données de la plage dans la procédure.
'-----------------------------------------
Sub SaveAsTextFile()
Dim C As Variant
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String
Dim Separateur As String
'Tu choisis le séparateur de ton choix
Separateur = vbTab
'Plage à copier
With Worksheets("Feuil1")
C = Range("A1:C6")
End With
fFilename = _
Application.GetSaveAsFilename(InitialFileName:="nom_par_defaut", _
fileFilter:="Text Files (*.txt), *.txt")
Open fFilename For Output As #1
For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Separateur & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
Close #1
Erase C
End Sub
'-----------------------------------------
"Jac" a écrit dans le message de groupe de discussion :
Bonjour à tous,
je veux enregistrer mon fichier actif au format
Texte (séparateur: tabulation)(*.txt)
que je trouve dans la liste des types de fichiers lors d'un
"Enregistrer sous...", mais que je ne retrouve ni via l'enregistreur de
macros ni dans la liste 43 formats possibles tels que décrits dans
l'aide sous "FileFormat, propriété".
J'ai essayé (je pense) tous les formats qui me semblent enregistrer en
txt. En vain. Problème : les séparateurs de milliers sont remplacés par
des virgules et les nombres sont placés entre double cottes.
Exemple : 12 000 devient "12,000"
Et certains formats txt, souvent les "Dos", remplacent les caractères
accentués par d'autres signes.
Merci d'avance à qui pourrait m'orienter vers la solution qui doit être
devant mes yeux, mais que je ne vois pas...
Jac
La solution à partir du menu Fichier qui existe dans
excel (windows7 et office 2007), je n'ai rien à retoucher
et il respecte le format et la tabulation !
Par macro, ça donne ceci :
ActiveWorkbook.SaveAs Filename:="C:Classeur3.txt", FileFormat:=xlText
"Jac" <jsansp@amfra.net> a écrit dans le message de groupe de discussion :
#9EQsMqbKHA.2164@TK2MSFTNGP02.phx.gbl...
Bonjour michdenis,
ok pour ta solution, mais ce qui m'embête, c'est que je voulais faire
un "truc" généraliste, sans formatage particulier, c'est pour celà que
je cours après l'équivalence vba de
"Texte (séparateur: tabulation)(*.txt)".
Les autres trafiquent les formats de nombre (je peux résoudre en
enlevant le séparateur de milliers... mais j'aimerais mieux m'en
passer) ou suppriment les caractères accentués.
michdenis vient de nous annoncer :
Bonjour Jac,
Quand tu fais enregistrer sous, tu sélectionnes dans la liste
déroulante - type de fichier- Texte unicode(*.txt) et cela
fonctionne bien !
Si tu désires, tu peux utiliser ceci : une petite macro :
Si tu veux sauvegarder tes données avec un format particulier,
tu peux utiliser la fonction "Format()" pour formater chacune des
données de la plage dans la procédure.
'-----------------------------------------
Sub SaveAsTextFile()
Dim C As Variant
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String
Dim Separateur As String
'Tu choisis le séparateur de ton choix
Separateur = vbTab
'Plage à copier
With Worksheets("Feuil1")
C = Range("A1:C6")
End With
fFilename = _
Application.GetSaveAsFilename(InitialFileName:="nom_par_defaut", _
fileFilter:="Text Files (*.txt), *.txt")
Open fFilename For Output As #1
For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Separateur & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
Close #1
Erase C
End Sub
'-----------------------------------------
"Jac" <jsansp@amfra.net> a écrit dans le message de groupe de discussion :
eelCjunbKHA.3768@TK2MSFTNGP04.phx.gbl...
Bonjour à tous,
je veux enregistrer mon fichier actif au format
Texte (séparateur: tabulation)(*.txt)
que je trouve dans la liste des types de fichiers lors d'un
"Enregistrer sous...", mais que je ne retrouve ni via l'enregistreur de
macros ni dans la liste 43 formats possibles tels que décrits dans
l'aide sous "FileFormat, propriété".
J'ai essayé (je pense) tous les formats qui me semblent enregistrer en
txt. En vain. Problème : les séparateurs de milliers sont remplacés par
des virgules et les nombres sont placés entre double cottes.
Exemple : 12 000 devient "12,000"
Et certains formats txt, souvent les "Dos", remplacent les caractères
accentués par d'autres signes.
Merci d'avance à qui pourrait m'orienter vers la solution qui doit être
devant mes yeux, mais que je ne vois pas...
Jac
La solution à partir du menu Fichier qui existe dans
excel (windows7 et office 2007), je n'ai rien à retoucher
et il respecte le format et la tabulation !
Par macro, ça donne ceci :
ActiveWorkbook.SaveAs Filename:="C:Classeur3.txt", FileFormat:=xlText
"Jac" a écrit dans le message de groupe de discussion :
#
Bonjour michdenis,
ok pour ta solution, mais ce qui m'embête, c'est que je voulais faire
un "truc" généraliste, sans formatage particulier, c'est pour celà que
je cours après l'équivalence vba de
"Texte (séparateur: tabulation)(*.txt)".
Les autres trafiquent les formats de nombre (je peux résoudre en
enlevant le séparateur de milliers... mais j'aimerais mieux m'en
passer) ou suppriment les caractères accentués.
michdenis vient de nous annoncer :Bonjour Jac,
Quand tu fais enregistrer sous, tu sélectionnes dans la liste
déroulante - type de fichier- Texte unicode(*.txt) et cela
fonctionne bien !
Si tu désires, tu peux utiliser ceci : une petite macro :
Si tu veux sauvegarder tes données avec un format particulier,
tu peux utiliser la fonction "Format()" pour formater chacune des
données de la plage dans la procédure.
'-----------------------------------------
Sub SaveAsTextFile()
Dim C As Variant
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String
Dim Separateur As String
'Tu choisis le séparateur de ton choix
Separateur = vbTab
'Plage à copier
With Worksheets("Feuil1")
C = Range("A1:C6")
End With
fFilename = _
Application.GetSaveAsFilename(InitialFileName:="nom_par_defaut", _
fileFilter:="Text Files (*.txt), *.txt")
Open fFilename For Output As #1
For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Separateur & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #1, tmP
Next
Close #1
Erase C
End Sub
'-----------------------------------------
"Jac" a écrit dans le message de groupe de discussion :
Bonjour à tous,
je veux enregistrer mon fichier actif au format
Texte (séparateur: tabulation)(*.txt)
que je trouve dans la liste des types de fichiers lors d'un
"Enregistrer sous...", mais que je ne retrouve ni via l'enregistreur de
macros ni dans la liste 43 formats possibles tels que décrits dans
l'aide sous "FileFormat, propriété".
J'ai essayé (je pense) tous les formats qui me semblent enregistrer en
txt. En vain. Problème : les séparateurs de milliers sont remplacés par
des virgules et les nombres sont placés entre double cottes.
Exemple : 12 000 devient "12,000"
Et certains formats txt, souvent les "Dos", remplacent les caractères
accentués par d'autres signes.
Merci d'avance à qui pourrait m'orienter vers la solution qui doit être
devant mes yeux, mais que je ne vois pas...
Jac