Remplacer une chaine entre a et b

Résolu
kelm_by Messages postés 296 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 21 novembre 2008 - 9 févr. 2007 à 01:19
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 13 févr. 2007 à 23:06
 


Salut,


Je cherche un code qui permet de remplacer une chaîne entre «début » et « fin » par un espace.
J’ai ce code mais ca marche pas

str = Replace(str, "<table", vbCrLf, , , vbTextCompare)


pos_deb = InStr(1, str, "<table")


Do Until pos_deb = 0


    pos_fin = InStr(pos_deb, str, ">")


    part_d = Mid(str, 1, pos_deb - 1)


    part_f = Mid(str, pos_fin + 1, Len(str) - pos_fin)


    str = part_d & part_f


    pos_deb = InStr(1, str, "<table")
Loop




merci d'avence

6 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
13 févr. 2007 à 23:06
exact. en même temps le plus gros était fait non? restait plus qu'à intercaler une variable, pas si difficile quand même....

Option Explicit
Private Sub Form_Load()
    Dim sStr As String
    sStr =  "
machin
"
    Call ReplaceString(sStr, "'>", "</", "budule")
    MsgBox sStr
    Unload Me
End Sub

Private Sub ReplaceString(ByRef Expression As String, sLeft As String, sRight As String, sRep As String)
    Dim lPosL As Long, lPosR As Long
    lPosL = InStr(1, Expression, sLeft): lPosR = InStr(lPosL + 1, Expression,
sRight)
    If lPosL > 0 And lPosR > 0 Then Expression = Left$(Expression, lPosL + Len(sLeft) - 1)
& sRep & Mid$(Expression, lPosR)
End Sub

<small>Coloration
syntaxique automatique [AFCK] </small>
       

<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 févr. 2007 à 02:59
salut,

1) c'est du DotNet çà?
2)tu t'es relus?
3)1ere ligne, tu remplaces les "<table", et tu le cherches en 2e? rien de choquant?



çà va pas être facile.....
bonne chance ;)
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
9 févr. 2007 à 07:19
clair....

bien vu PCPT !

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
kelm_by Messages postés 296 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 21 novembre 2008
9 févr. 2007 à 15:15
et comment faire merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 févr. 2007 à 19:35
la gauche d'un morceau, le reste de l'autre et voilà....

Option Explicit
Private Sub Form_Load()
    Dim sStr As String
    sStr =  "
machin
"
    Call DeleteString(sStr, "
, ">")
    MsgBox sStr
    Unload Me
End Sub

Private Sub DeleteString(ByRef Expression As String, sLeft As String, sRight As String)
    Dim lPosL As Long, lPosR As Long
    lPosL = InStr(1, Expression, sLeft): lPosR = InStr(lPosL + 1, Expression,
sRight)
    If lPosL > 0 And lPosR > 0 Then Expression = Left$(Expression, lPosL + Len(sLeft) - 1)
& Mid$(Expression,
lPosR)
End Sub

<small>Coloration
syntaxique automatique [AFCK] </small>
       

++
PCPT   [AFCK]
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
kelm_by Messages postés 296 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 21 novembre 2008
13 févr. 2007 à 22:48
merci PCPT mais ce code ne remplace que la premier pour le reste
0
Rejoignez-nous