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 ?
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")
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
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.
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
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 ......
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 )
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.
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
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.
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.