Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lecture de fichier et extraction de chaine de caractères.

3 réponses
Avatar
Alexandre
Bonjour tout le monde,
je souhaiterai écrire une macro qui me permettrai de lire un fichier (par
exemple texte) sans l'ouvrir (comme cela si le fichier dépasse les 65000
lignes pas de pb) et récupérer des chaines de caractères particulières dans
le fichier texte et les écrire dans mon fichier Excel cette fois ci...

Avez vous une idée de coder cela.

Merci
Alexandre

3 réponses

Avatar
Sylfanie
Bonjour tout le monde,
je souhaiterai écrire une macro qui me permettrai de lire un fichier (p ar
exemple texte) sans l'ouvrir


Il faut utiliser la bibliotheque Scripting.

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

Function LireFichier(sName As String) As String

Dim fs, f, ts, s
Dim sRetour As String
On Error Resume Next

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(sName)
Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)

While Not ts.AtEndOfStream
sRetour = sRetour & ts.ReadLine & vbCr
Wend
ts.Close
LireFichier= sRetour
End Function


Stéphane Hamard.

Avatar
Alexandre
Merci Sylfanie.

Comment je peux faire en complément à ta fonction pour extraire une chaine
de caractères de ce fichier (par exemple "toto") et de l'écrire dans mon
classeur Excel...

Merci
Alexandre


"Sylfanie" wrote:



Bonjour tout le monde,
je souhaiterai écrire une macro qui me permettrai de lire un fichier (par
exemple texte) sans l'ouvrir


Il faut utiliser la bibliotheque Scripting.

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

Function LireFichier(sName As String) As String

Dim fs, f, ts, s
Dim sRetour As String
On Error Resume Next

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(sName)
Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)

While Not ts.AtEndOfStream
sRetour = sRetour & ts.ReadLine & vbCr
Wend
ts.Close
LireFichier= sRetour
End Function


Stéphane Hamard.





Avatar
Sylfanie
Comment je peux faire en complément à ta fonction pour extraire une c haine
de caractères de ce fichier (par exemple "toto") et de l'écrire dans mon
classeur Excel...




Si tu connais sa position, tu peux utiliser la fonction MID, sinon la
fonction la fonction INSTR.