Bonjour,
j'ai importé un fichier txt en spécifiant le format d'import (colonne1=10car, col2 3car,...) pour y effectuer par des macros des modifications. Je cherche maintenant à l'exporter en txt en reprennant mon format d'import initial.
ET LA ..... Je bute!!
Je ne connais pas la fonction VB qui permet de le faire .
Help, pouvez vous m'aider
__________________________
ddd
Sub FichierTXT()
Application.DisplayAlerts = False
'Choisis la feuille que tu veux transformer en TXT
Worksheets("Feuil1").Copy
'Sauvegarde en TXT de la feuille choisie
With ActiveWorkbook
.SaveAs Filename:="test", FileFormat:=xlTextWindows, local:=True
.Close False
End With
Application.DisplayAlerts = False
End Sub
En CSV
Sub FichierCSV()
Application.DisplayAlerts = False
'Choisis la feuille que tu veux transformer en CSV
Worksheets("Feuil1").Copy
'Sauvegarde en CSV de la feuille choisie
With ActiveWorkbook
.SaveAs Filename:="test", FileFormat:=xlCSV, local:=True
.Close False
End With
Application.DisplayAlerts = False
End Sub
Cdlt
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa
et ne pas oublier le tag :après résolution.
Déjà un merci,
L'enregistrement en txt fonctionne , par contre je voudrais préciser colonne par colonne le nombre de caractère en sortie et le type (numérique, alphabétique...)
__________________________
ddd
j'ai copié vite fait un truc car je n'ai pas le temps cet après midi
mais ça doit le faire voir feuille etc et chemin à changer
Sub SaveAsTextFile()
Dim C As Variant
Dim fFilename As String
Dim a As Integer, b As Integer
Dim Tmp As String
With Worksheets("Feuil2")
'C = ActiveCell.Offset(0, 1)
C = .Range("A1:D10")
End With
fFilename = _
Application.GetSaveAsFilename(InitialFileName:="nom_par_defaut", _
fileFilter:="Text Files (*.txt), *.txt")
Open fFilename For Output As #1
'Tmp = C
For i = 1 To 12
Write #1,
Next
For a = 1 To UBound(C, 1)
Tmp = ""
For b = 1 To UBound(C, 2)
If Tmp > "" Then
Tmp = Tmp & Chr(44) & C(a, b)
Else
Tmp = C(a, b)
End If
Next
Print #1, Tmp
Next
Close #1
Erase C
End Sub
Cdlt
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa
et ne pas oublier le tag :après résolution.
Re merci en tout cas !!
Mais je crois ne pas avoir été assez clair , je veux exporter ce fichier sur la base du format d'import initial , par exemple :
ETAPE 1 :
j'importe un fichier de type txt pour cela j'ai fait une macro qui précise le format des champs
cela me donne la feuille excel suivante
col1 col2 col3
Num_proj Nom_projet Nom_personne
(28 cararctere numerique) (10 car alpha) (15car alpha)
ETAPE 2:
Par une macro je propose de choisir les Num_proj et je modifie quand c'est trouvé le Nom_personne
ETAPE 3:
J'exporte le fichier en txt tout en conservant le format de départ . Le but est de l'utiliser dans une autre application .
donc je dois pourvoir recréer mon fichier txt avec dans l'ordre (Num_proj(28car),Nom_projet(10car),Nom_personne(15car))
Bon je sais je demande la cerise sur le gateau !!
Merci d'avance et si pas de news bonnes fêtes quand même !!
__________________________
ddd
est-ce résolu ?
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa
et ne pas oublier le tag :après résolution.