1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
Public Function ExtraireChaineDelimitee(ChaineSource As String, Optional LimiteAvant As String = "", Optional LimiteApres As String = "")
On Error GoTo FunctionErreur
If InStr(1, ChaineSource, LimiteAvant) = 0 Then
ExtraireChaineDelimitee = CVErr(xlErrNA)
Exit Function
Else
ExtraitPositionDebut = InStr(1, ChaineSource, LimiteAvant) + Len(LimiteAvant)
End If
If LimiteApres = "" Then
ExtraitPositionFin = Len(ChaineSource)
Else
ExtraitPositionFin = InStr(1, ChaineSource, LimiteApres) - 1
End If
ExtraireChaineDelimitee = Mid(ChaineSource, ExtraitPositionDebut, ExtraitPositionFin - ExtraitPositionDebut + 1)
Exit Function
FunctionErreur:
ExtraireChaineDelimitee = CVErr(xlErrNA)
'ExtraireChaineDelimitee = ""
End Function
Sub ExempleExtractionDeChaine()
Dim LimiteGauche As String
Dim LimiteDroite As String
Dim intFic As Integer
Dim strLigne As String
Dim ligne As String
Dim motcompare As String
Dim intfic2 As Integer
Dim TestEnsemble As Long
Dim ligne2 As String
LimiteGauche = "aa"
LimiteDroite = "bb"
intFic = FreeFile
Open "C:\" For Input As intFic
While Not EOF(intFic)
Line Input #intFic, strLigne
ligne = strLigne
motcompare = ExtraireChaineDelimitee(ligne, LimiteGauche, LimiteDroite)
intfic2 = FreeFile
Open "C:\" For Input As intfic2
While Not EOF(intfic2)
Line Input #intfic2, strligne1
ligne2 = strligne1
TestEnsemble = InStr(1,ligne2,motcompare,1)
If TestEsemble = 0 Then
num = FreeFile
Close intfic2
'Ouvre en écriture
Open "C:\" For Append As #5
Print #1, motcompare
'Fermeture
Close #5
End If
Wend
Wend
Close intFic
Close intfic2
End Sub |
Partager