cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011
-
20 mars 2008 à 11:22
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 2016
-
20 mars 2008 à 14:32
Bonjour amis programmeurs et programmeuzes,
me revoila pour de nouvelles aventures, aujourd'hui comment remplacer le texte d'un fichier texte en utilisant des cellules de excel.
Alors voila, j'ai un fichier texte nommé machin.ftp(fichier texte de commandes dos) qui contient ceci :
open 0.0.0.0
user
pass
get truc1.txt
quit
exit
je transfere ce fichier dans excel et je rentre les infos nécéssaires a la connection (l'ip, le nom d'utilisateur, le pass et le numero de truc.txt)
ensuite avec une macro je voudrai remplacer ce que contient mon machin.ftp avec les infos des cellules.
Voici le code macro que j'utilise pour changer les infos :
temoin = 1
Open "C:\machin.ftp" For Input Access Read As 1
Do While Not EOF(1) 'boucle jusqu'a ce qu'il n'y est plus de valeurs
Line Input #1, textline 'La ligne lue est retournée dans la variable Textline
Range("A" & temoin).Value = textline 'A chaque ligne une nouvelle cellule de la colonne A
temoin = temoin + 1
Loop
Close #1
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 20 mars 2008 à 13:19
Salut,
Il me semble que, du moment que tu ouvres ton fichier avec OUTPUT(car cela crée un nouveau fichier en sorte c'est le contraire de APPEND), tu n'as nullement besoin de faire cela :
Print #1, ""
Close #1
Je pense que tu devrait ouvrir directement ton fichier avec OUTPUT, écrire dedans puis le fermer.
A+
Exploreur
Linux a un noyau, Windows un pépin
Un jeu en flash sympa...? Voir ici Si vous voulez vous inscrire
mettez comme parrain : exploreur
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011 20 mars 2008 à 11:36
Voila le texte que j'ai rajouté a la fin du code que j'ai donné plus haut, mais ca efface tout le contenu du fichier machin.ftp :
'rentre le texte dans le FTP
'effece le contenu du fichier...
temoin = 1
Open "C:\machin.ftp" For Output As 1
Print #1, ""
Close #1
'...le remplace par le contenu des cellules
Open "C:\machin.ftp" For Append As 1
Do While Not EOF(1)
Range("A" & temoin) = textline
Print #1, textline
temoin = temoin + 1
Loop
Close #1
je vais essayer de mettre les fonctions open et close dans la boucles pour voir.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011 20 mars 2008 à 12:10
Je me demandais si le probleme ne venais pas de la condition de la boucle "not EOF(1), alors je l'ai remplacer par "temoin <8) mais c'est le meme résultat.
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011 20 mars 2008 à 13:35
temoin = 1
Open "C:\Année.ftp" For Output As 1
Do While Not EOF(1)
Range("A" & temoin).Value = textline
Print #1, textline
temoin = temoin + 1
Loop
Close #1
j'ai enle vé la partie append et j'ai fait ma boucle dans le output mais c'est le meme résultat :(
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011 20 mars 2008 à 13:42
en suivant cette voix j'ai enlever la partie output et n'ai garder que la partie append
Résultat : le fichier n'est pas ecrasé, ni vidé mais rien n'est ajouté!
La je comprend plus trop ce qui se passe, c'etait censé rajouté le texte demandé non??
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011 20 mars 2008 à 14:09
pour ce qui est du freefile j'ai deja essayer sans succées, pour l'autre...je me dmande pourquoi j'y ai pas penser plus tot, ca serait bien probable que se soit ca...
et bin nan, meme resulta, si je met la fonction output avant la fonction append ca efface tous le contenu du fichier, et si je ne met que la fonction append, le contenu du fichier ne change pas.
J'essai de vérifier aussi si ya pas un probleme de chemin d'accées ou de nom de fichiers mais je n'en voie pas
cs_faucheuse
Messages postés308Date d'inscriptionjeudi 10 janvier 2008StatutMembreDernière intervention27 octobre 2011 20 mars 2008 à 14:25
Je pense que le probleme vient du EOF, apperement cette fonction ne peut etre utilisée que pour un fichier en Input, mais je ne connais pas d'autre fonction pour arreter le traitement (apart une comparaison simple mais ca non plus ca ne marche pas...a moins que maintenant que j'ai remplacé la ligne de texte plus haut...LE APPEND FONCTIONNE!!!
J'essaye avec le output comme tu l'a conseillé plus haut m'sieur exploreur...CA MAAAAARCHE!!!!!
Omg c'etait juste ca, et remanier le code aprés!
Merci beaucoup a vous pour votre aide.
J'vous aime (je le crie sur internet, parce que si je crie ca au bureau je pense que ca plaira pas a tout le monde ^^)