macro creation fichier Txt automatiquement

popeckjunior

XLDnaute Junior
Bonjour,

me revoici après plusieurs moi d'abscence.je n'ai pas reussi à trouver l'info ds le forum, à chaquue fois il y avez un truc pour que je n'y arrive pas.

mon retour est lié au fait que j'ai un petit probleme sous excel.

j'ai un fichier avec pas mal de macro… l'une d'elle est la création d'un "menu" dans la bare d'outil de excel( tres intéréssant) cf fichier excel
=> au meme niveau que fichier/Edition affichage etc...

toutefois il a un probleme car je ne semble pas avoir pris l'enssemble de la macro…. Desole ...je vais essaayer de donner un produit fini pour les "archives" du forum
mon probleme est en faits que je souhaite créer dans ce menu un bouton afin de me permettre de cree automatiquement un fichier en format Txt (separateur : Tabulation)
la feuille excel à prendre en compte (serait dans la mesure du possible une feuille caché).
Ainsi, le fichier txt créer de facon automatique se placerai au meme endroi que le fichier excel.

j'aurais besoin d'un autre petit coups de main mais chaque chose à la fois...

Je vous remerci encore de votre aide, j'aspere avoir été assez claire dans me propos, en esperant que se poste servira à d'autre personne

bonne soirree
 

Pièces jointes

  • teste.xls
    22.5 KB · Affichages: 172
  • teste.xls
    22.5 KB · Affichages: 178
  • teste.xls
    22.5 KB · Affichages: 181

popeckjunior

XLDnaute Junior
Re : macro creation fichier Txt automatiquement

voici en lien un fichier avec une macro qui effectue ce que je souhaite.

toutefois, il y a plein de zero....

je n'arrive pas à les faire partir

pouvez vous m'aider

merci
 

Pièces jointes

  • export-imlport.xls
    30 KB · Affichages: 149
  • export-imlport.xls
    30 KB · Affichages: 137
  • export-imlport.xls
    30 KB · Affichages: 121
Dernière édition:

popeckjunior

XLDnaute Junior
Re : macro creation fichier Txt automatiquement

en clair il y a cela :

"AN",0000000020091231.00,0000000000205000.00,0000000000000000.00,0000000000000000.00,0000000000000000.00,"Capital",0000000000000000.00,0000000000000020.00,0000000000000000.00,0000000000000000.00,0000000000000000.00
"AN",0000000020091231.00,0000000000205100.00,0000000000000000.00,0000000000000000.00,0000000000000000.00,"Report à nouveau (débiteur)"

et je souhaite cela :


AN 20091231 101000 Capital 400000
AN 20091231 119000 Report à nouveau (débiteur) 17016984
AN 20091231 205000 Concessions et droits similaires .. 154655
AN 20091231 205100 Conc. et droits simil. non amorti. 164450
AN 20091231 206000 Droit au bail
AN 20091231 207000 Fonds commercial 4500000



la reponse de pmfontaine (merci à lui) été :

OK pour les zéro j'ai trouver (Macro fichier texte = for a = 1 to 12 (12 ALD 4))

mais je ne comprend pas ce que cela signifie

Quel est donc la macro finale?
(j'espere que cela fonctionnerra, car le "format" Txt doit etre bien particulier)

merci !!!!!
 
Dernière édition:

popeckjunior

XLDnaute Junior
Re : macro creation fichier Txt automatiquement

re-bonjour,

voici un autre code que j'ai trouvé sur le forum. j'ai simplement modifié une donnée.
cela semble etre la macro qui me faut...
toutefois cela ne fonctionne pas.

y a t'il des mise en formes particuliere possible sous les format texte?

en effet, il y a semble t'il une inscidence en fonction de si les ligne sont rempli avec des formulles ou non

Bref mes compétence semble arriver à mes limites

merci de m'aider, j'ai besoin d'un petit coup de main d'un expert

bonne soiree




Sub Test()
Chemin = ThisWorkbook.Path
Fichier = "Test.txt"
Sep = " "
'----------------------
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(Chemin & "\" & Fichier, True)
With Sheets("Feuil1")
For Each X In .Range("A1:" & .Range("A65536").End(xlUp).Address)
For Each Y In .Range(X, .Cells(X.Row, 256).End(xlToLeft))
Var1 = Var1 & Sep & Y.Value
Next
a.WriteLine Right(Var1, Len(Var1) - 1): Var1 = ""
Next
End With
a.Close
End Sub
 

kjin

XLDnaute Barbatruc
Re : macro creation fichier Txt automatiquement

Bonsoir,
Je n'ai pas compris grand chose, mais pourquoi ne pas juste sauvegarder ta feuille au format Texte qui par défaut utilise la tabulation comme séparateur ?
Code:
Sub ExportTxt()
Rep = ActiveWorkbook.Path & "\" 'repertoire de sauvegarde
Fich = "Test" 'nom du fichier sauvegardé
    Sheets("Feuil1").Copy 'ou la feuille x
    ActiveWorkbook.SaveAs Rep & Fich & ".txt", xlText, False
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
    
End Sub
A+
kjin
 

popeckjunior

XLDnaute Junior
Re : macro creation fichier Txt automatiquement

bonjour

merci de m'avoir repondu

je souhaite automatisé la transformation

plusieurs personnes vont utiliser ce classeur excel (a terme cela gagnera du temps) on serra succeptible d'effectuer plusieur fois cette transformation. de plus tt le monde ne manipule pas formcement bien excel => moins de risque d'erreur
 

popeckjunior

XLDnaute Junior
Re : macro creation fichier Txt automatiquement

ha oui j'oublier

cela permet (pour les comptables notamment) d'effectuer des imports de fichier dans differents logiciel comptable

si une telle macro me facilite grandement la vie, je me dit que cela peu etre le cas pour d'autre personne



ainsi la macro suivante semble effectuer ce que je souhaite, toutefois, pour le moment le probleme est que d'apres moi il doit y avoir plusieur mise en forme sous les fichiers txt. car les espacements sont bon, etc. malheureusement je ne peu pas mettre sur le forum les fichier textes(un qui fonctionne et un autre qui ne fonctionne pas) :

Sub Test()
Chemin = ThisWorkbook.Path
Fichier = "Test.txt"
Sep = " "
'----------------------
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(Chemin & "\" & Fichier, True)
With Sheets("Feuil1")
For Each X In .Range("A1:" & .Range("A65536").End(xlUp).Address)
For Each Y In .Range(X, .Cells(X.Row, 256).End(xlToLeft))
Var1 = Var1 & Sep & Y.Value
Next
a.WriteLine Right(Var1, Len(Var1) - 1): Var1 = ""
Next
End With
a.Close
End Sub



il y a en PJ (j'espere que cela fonctionnerra un model de fichier texte qui fonctionn)

Merci encore pour ton aide
 

Pièces jointes

  • Classeur11.zip
    200 bytes · Affichages: 80
  • Classeur11.zip
    200 bytes · Affichages: 90
  • Classeur11.zip
    200 bytes · Affichages: 81
Dernière édition:

popeckjunior

XLDnaute Junior
Re : macro creation fichier Txt automatiquement

lol,

c'est la qu'est le probleme=> il ne devrais pas y en avoir

la macro fonctionne tres bien, le fichier texte semble avoir la bonne présentation=> toutefois il n'est pas exactement comme le fichier qui est ds le Zip

La feuille en Txt dans le Zip est issue d'une feuille excel puis fichier enregistrer sous format txt.

je me suis egalement apeçu que la feuille excel doit etre en format standar et sans formule excel sur les dernieres ligne sinon cela ne fonctionne pas .......ceci serra un proble que je devrais resoudre egalement.

je pensse que tu est plus calé que moi ds ce dommaine


merci
 
Dernière édition:

popeckjunior

XLDnaute Junior
Re : macro creation fichier Txt automatiquement

Iaorana Forum

Voici ce que dit l'aide excel :

"Le format de fichier Text (*.txt) enregistre uniquement le texte et les valeurs de la façon dont ils sont affichés dans les cellules de la feuille de calcul active. Toutes les lignes de la feuille et les caractères de chaque cellule sont enregistrés. Les colonnes de données sont séparées par des caractères de tabulation et chaque ligne de données se termine par un retour chariot. Si une cellule contient une virgule, son contenu est entouré de guillemets doubles. La mise en forme, les graphiques, les objets et autre contenu de la feuille de calcul sont perdus. Le symbole de l'euro est remplacé par un point d'interrogation.

Si les cellules affichent des formules au lieu d'afficher les valeurs des formules, les formules sont enregistrées sous forme de texte. Pour conserver les formules lorsque vous rouvrez le fichier dans Microsoft Excel, sélectionnez l'option Délimité dans l'Assistant Importation de texte, puis les caractères de tabulation comme séparateurs."

D'apres moi le probleme viendrait du format de la feuille excel=> mais je ne c'est pas comment faire pour y remedier

merci encore de votre aide
 

kjin

XLDnaute Barbatruc
Re : macro creation fichier Txt automatiquement

Bonsoir,
Pour ma part, j'ai du mal à comprendre où est ton pb et les fichiers que tu as fournis n'en disent pas plus, alors essaie de faire un petit effort pour exprimer clairement ce que tu veux faire et les problèmes que tu rencontres
A+
kjin
 

popeckjunior

XLDnaute Junior
Re : macro creation fichier Txt automatiquement

slt forum,

Voila,
je souhaite importer des donner dans un logiciel. l'import de donnée n'est effectuer qu'avec un fichier texte. pour cela il faut mettre en forme une feuille excel puis effecuer la manip suivante : enregistrer sous => format texte (séparateur : tabulation). le fichier texte ainsi cree peu etre exporter ds le logiciel.

je souhaite automatiser cela par une macro. j'ai trouver sur le forum la macro "Sub Test()" qui semble effectuer cette manipulation.

toutefois le fichier texte ainsi cree par la macro ne semble pas etre correctement "paramettrer". en effet, le logiciel refuse d'importé le fichier texte de cette macro, a l'ainstar de celui cree de façon "classic" (enregistrer sous format txt).

l'aide que je demande au forum est donc la suivante :

la macro "Sub Test () peut'elle modifier afain de repondre au bon format d'import?
si non , existe t'il une autre macro effectuant cela ? (comme par exemple celle du 1er poste, mais sans les zeros....le logiciel ne souhaite egalement pas importer ce type de format)

j'espere avoir été un peu plus precis cette fois ci

merci enciore de trouver une solution à mon probleme
 
Dernière édition:

popeckjunior

XLDnaute Junior
Re : macro creation fichier Txt automatiquement

YOUPI!!!!!!

je pensse avoir compris pourqoi cela ne fonctionne pas

ds la version qui fonctionne pas (fichier texte) les espacements sont générés par la touche espace du clavier or l'espacement doit etre généré par la touche "saut tabulation" (la touche à gauche du clavier ou il y a une fleche à gauche et une autre à droite)

bref j'ai pris le fichier qui ne fonctionne pas j'ai supprimer les espacements (généré par la touche espace du clavier) pour les remplacer par les sauts tabulations (la touche à gauche du clavier ou il y a une fleche à gauche et une autre à droite)

=> l'import fonctionne.



j'ai essayé de modifier la macro en remplacant par l'espacement tabulation mais cela ne fonctionne pas

Sub Test()
Chemin = ThisWorkbook.Path
Fichier = "Test.txt"
Sep = " " <= à ce niveau la
'----------------------




j'espere que tu aurra une idee pour modifier la macro

merci d'avance
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
261

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise