Fichier Externe

piep14

XLDnaute Occasionnel
Bonsoir, je vous expose mon problème car je ne sais pas si cela est faisable :

Dans ma page excel, je voudrais faire un bouton qui lorsqu'on clique dessus lis dans un fichier et réécris le texte dans le bloc note.
Ceci est la première étape de mon problème !!
Merci de m'éclaircir !!!
BOnne soirée

;)
 

piep14

XLDnaute Occasionnel
Les fichiers lus sont des fichiers textes avec une donnée par ligne !
Et ce sont ces memes données qui sont réécrites dans un nouveau fichier texte (en faite, c'est dans telnet mais si cela fonctionne pour le bloc note, le procédé sera le meme !!!)

J'ai déjà fait ce que je veux en Csharp, mais en faite, j'aimerais plutot la refaire en utilisant Excel et les macros !!

Je vous remercie de votre aide !!

Bonne soirée
 

MichelXld

XLDnaute Barbatruc
bonjour

ci dessous quelques exmples pour utiliser les fichiers texte en ecriture ou en lecture



Ecrire la valeur de la cellule A1 dans une fichier texte ,
*****************************************
par l'instruction Append
Remarques : Les données viennent s'inscrire à la suite des lignes existantes .Si le fichier .Txt n'existe pas , il sera créé automatiquement .

Sub excelVersFichierTexte()
Dim Cible As Integer
Cible = freeFile
Open 'C:\\\\\\\\essai.txt' For Append As #Cible
Print #Cible, Range('A1') 'renvoie valeur cellule A1 dans fichier txt
Close #Cible
End Sub





Ecrire la valeur de la cellule A1 dans une fichier texte ,
******************************************
par l'instruction Output
Remarques : Si le fichier existe , les anciennes données seront écrasées .Si le fichier .Txt n'existe pas , il sera créé automatiquement .

Sub excelVersFichierTexte_V02()
Dim Fichier As String
Fichier = 'C:\\\\\\\\Fichier.Txt'
Open Fichier For Output As #1
Print #1, Range('A1') 'renvoie la valeur cellule A1 dans le fichier txt
Close
End Sub






Lire un fichier Texte : boucler sur toutes les lignes du fichier
**********************************************
Dans l'exemple , un message s'affiche si le début de la ligne commence par 'XLD'

Sub lireFichierTexte()
Dim infosLigne As String
Open 'C:\\\\\\\\fichierTexte.txt' For Input As #1
Do While Not EOF(1)
Line Input #1, infosLigne
If Left(infosLigne, 3) = 'XLD' Then Msgbox infosLigne
Loop
Close #1
End Sub





pour la question que tu as posé : transferer les données d'un fichier texte vers un autre , tu peux tester


Sub transfertDonneesFichierTexte()
Dim Ligne As String

Open 'C:\\\\\\\\fichierSource.txt' For Input As #1
Open 'C:\\\\\\\\fichierDestination.txt' For Append As #2

Do While Not EOF(1)
Line Input #1, Ligne
Print #2, Ligne

Loop

Close #1
Close #2
End Sub




bonne journée
MichelXld
 

piep14

XLDnaute Occasionnel
Ton code marche bien !!! Maintenant, je dois adapter !! Je t'explique :
Je dois lancer une macro qui fait ceci :
- Lire dans un fichier ligne à ligne. Chaque ligne sera fait comme ceci par exemple :
1
{enter}<-correspond a la touche entrer
4
{enter}<-correspond a la touche entrer

Entre chaque saisie, je dois laisser un temps d'attente de 2 secondes !!

Donc en faite le trucs serait pour récapituler :
Je lis la valeur dans le fichier, je la recopie dans l'autre fichier, j'attends deux secondes, puis je lis la seconde ligne et ainsi de suite !

J'espère avoir été assez clair.
Merci
 

piep14

XLDnaute Occasionnel
Ah j'ai bien avancé en faisant ainsi :

Code:
Lign_Telnet_Exec = 'c:\\windows\\system32\\notepad.exe '
VBA.Shell Lign_Telnet_Exec, 3
Application.Wait (Now + TimeValue('00:00:02'))
VBA.SendKeys '2', True
Application.Wait (Now + TimeValue('00:00:01'))

Par contre, la j'ai mis en dure dans la macro, a la place j'aimerais lire dans un fichier texte comme expliqué précédemment !!

Merci des idées !
 

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 510
Membres
103 570
dernier inscrit
patrickb83p