XL 2010 Feuille excel vers Fichier TXT

zozo

XLDnaute Occasionnel
Bonjour à tout le forum,
j'ai une macro qui crée un fichier txt à partir d'une feuille excel qui contient plus de 600 lignes.
On ouvrant le fichier txt, je ne trouve que 500 lignes.
Faut-il déclarer la taille du fichier txt ? Si oui, Comment ?

Merci pour toute réponse.
 

zozo

XLDnaute Occasionnel
Bonjour,
Ci-après ma procédure :
im Chemin As String
Dim DerniereLigne As Long 'Index de la dernière ligne
Dim Tableau() As Variant
Dim Ligne As Long
Chemin = "D:\NZ261287\"
DerniereLigne = Range("A1").SpecialCells(xlCellTypeLastCell).Row
'Création du tableau par une boucle
Ligne = 1
Do While Ligne <= DerniereLigne
'Ajout 1 élément à l'array en conservant les éléments précédents
ReDim Preserve Tableau(Ligne)
'Affectation de la valeur au nouvel élément
Tableau(Ligne) = Range("A" & Ligne).Value
Ligne = Ligne + 1
Loop
'Ecrit dans le fichier txt
Ligne = 1
Do While Ligne <= DerniereLigne
Open Chemin & "Mandatements TXT.TXT" For Append As #Ligne
Print #Ligne, Tableau(Ligne) & vbCrLf
Close
Ligne = Ligne + 1
Loop
Dim Enrgt As String
Open "D:\NZ261287\mandatements TXT.TXT" For Input As #1
Open "D:\NZ261287\Resultat.TXT" For Output As #2
While Not EOF(1)
Input #1, Enrgt
If Left(Enrgt, 1) <> "" Then
Print #2, Enrgt
End If
Wend
Close #1
Close #2
Kill ("D:\NZ261287\mandatements TXT.TXT")
 

zozo

XLDnaute Occasionnel
Bonjour,
Je t'envoi 2 fichiers :
1 edi contenant la macro
2 Mandatement contenant les infos à copier et à coller dans edi
à coller à partir de la ligne 2 colonne C (l'ordre reste tel qu'il est)
ensuite Click sur génération, et voir le fichier txt sur D:\NZ261287\RESULTAT.txt
Merci
 

Pièces jointes

  • Mandatement test.xlsm
    40.7 KB · Affichages: 5
  • edi test.xlsm
    35 KB · Affichages: 6

sousou

XLDnaute Barbatruc
Ici une version avec filesystemobject
attention j'ai changer le chemin, sur une partie du code, et j'ai supprimer la remise à zéro pour pas avoir à recoller à chaque test.
Enfin, il y a du ménage à faire, tu dois pouvoir simplifier,mais ca t'explique le filesystem
 

Pièces jointes

  • edi test.xlsm
    68.5 KB · Affichages: 6

zozo

XLDnaute Occasionnel
Bonsoir le fil

Pourquoi pas tout simplement?
VB:
Sub Excel_Vers_Text()
strPath=ThisWorkBook.Path & "\"
ActiveWorkbook.SaveAs Filename:=strPath & "Classeur1.txt", FileFormat:=xlText
End Sub
1) Je suis dans le classeur devant être exporté en Text
2) je lance la macro
3) Je réponds au différents messages affichés par Excel
4) je ferme le fichier txt obtenu sans enregistrer les modifs

NB: Le point 4 risque de poser un petit problème (mais on verra cela plus tard ;))
Merci d'avoir répondu, je suis un peu loin, dès que je rentre je vais essayer toute s les solutions du forum.
Merci encore.
 

zozo

XLDnaute Occasionnel
perso j'ai des doute avec tes index de fichier
c'est jamais bons les indexs en dur 1,2,3
laisse vba trouver ses index
dim x1&,x2&,x3
x1=freefile
open for...
x2=freefile
open for....
x3=freefile
open for ......
Merci Patrick, je te tiendrai au courant du résultat.
Pour info, sur la feuille excel j'obtiens les 632 agents avec le montant du mandatement, le problème se pose uniquement sur le fichier txt.
Merci encore.
 

zozo

XLDnaute Occasionnel
Ici une version avec filesystemobject
attention j'ai changer le chemin, sur une partie du code, et j'ai supprimer la remise à zéro pour pas avoir à recoller à chaque test.
Enfin, il y a du ménage à faire, tu dois pouvoir simplifier,mais ca t'explique le filesystem
Je viens juste de l'essayer, impeccable, j'ai même augmenter le nombre d'agents à 792, et j'ai un excellent résultat.
Pour le dossier de destination, à quel niveau mettre le chemin et le dossier que souhaite ?
Merci pour tous les efforts et l’intérêt.
 

Discussions similaires

Réponses
11
Affichages
503
Réponses
16
Affichages
501

Statistiques des forums

Discussions
312 198
Messages
2 086 107
Membres
103 120
dernier inscrit
83400ren