Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

zozo

XLDnaute Occasionnel
un petit complément,
quand tout se passe bien, la dernière ligne du fichier txt contiendra le mot "FVIR".
si je descend jusqu'à 500 ligne dans la feuille excel, tout marche bien.
 

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
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
Merci pour tes efforts , je vais l'essayer et te tiendrai au courant.
 

zozo

XLDnaute Occasionnel
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.
 

sousou

XLDnaute Barbatruc
Chemin = ThisWorkbook.Path & "\" j'ai mis cela, remplace par ton chemin "d:.....
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…