Extraire une ligne dans une VARIABLE

cs_Hobby Messages postés 116 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 17 septembre 2008 - 12 janv. 2003 à 02:39
cs_Hobby Messages postés 116 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 17 septembre 2008 - 12 janv. 2003 à 16:42
Salut à tous,

Je cherche un bout de code qui me permet d'extraire une ligne précise dans une variable sans modifier celle-ci:

strA = "Ligne 1" & vbvrlf
strA = strA & "Ligne 2" & vbvrlf
strA = strA & "Ligne 3" & vbvrlf

Je veux la ligne 2 par exemple.

Attention je ne connait pas le contenu de la ligne sinon c'est serait trop facile.

J'ai fait une recherche ici rein trouvé.

il y a une solution qui d'écrire le fichier, mais la variable fait 1Mb et je dois traiter 1000 x la variable avec des contenu <> et dans les plus bref délais, donc se serait trop long.

Merci
Olivier

2 réponses

cs_processus Messages postés 360 Date d'inscription vendredi 24 août 2001 Statut Membre Dernière intervention 9 juillet 2008 3
12 janv. 2003 à 11:14
Pq t'utilise pas un tableau de chaînes ?

Ex:
Dim strBuffer(10) As String

Dim strBuffer() As String
ReDim strBuffer(10)

==============
Site Web de JDPROG
Présentation de MP3 Index
.:Gérez vos MP3:.

http://jdprog.fr.st
0
cs_Hobby Messages postés 116 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 17 septembre 2008
12 janv. 2003 à 16:42
Salut,

la raison est je reçois le contenu de la variable du serveur de mail, ce n'est pas moi qui la construit.

Mais je pense avoir trouvé une méthode:

Public Function ExtraireLigne(Source As String, Numero As Long) As String
Dim a As Long
Dim b As Long
Dim c As Long
Dim Temp As String
Temp = Source
a = 1
c = 0
Do
b = InStr(Temp, vbCrLf)
If a = Numero Then 'Numero de ligne trouvé
ExtraireLigne = Mid(Temp, 1, b - 1)
Exit Do
End If
a = a + 1
c = Len(Temp)
Temp = Right(Temp, c - (b + 1))
Loop
End Function
0
Rejoignez-nous