Recuperer chaine de caractere VBA

bonjour

je souhaite récupérer une chaine de caractère suivant cette exemple

NAME_DIRECT "D 201 555 08 C"-------------- --------------------recuperer NAME_DIRECT

PARAMETER "D 201 555 08 C"-------------- --------------------------------------PARAMETER

PARAMETER "D 201 555 08 C" "Segment_1"---------------- -------------------- PARAMETER "Segment_1"

PRIM "D 201 555 08 C" "Segment_1" ----------------- ----------------------------PRIM "Segment_1"

NET "D 201 555 08 C" "Segment_1" ----------------------------------------------- NET "Segment_1"

C"est a dire ne pas prendre en compte "D 201 555 08 C", valeur qui change donc entre les guillemets

avec macro

merci d'avance

Salut,

Tu peux essayer ceci :

  NvChn = Replace(Chn, " ""D 201 555 08 C""", "")

A+

H

merci pour la réponse mais cette valeur change également

je vais tester

merci

Bonjour.

Tout d'abord par formule, la Macro peut suivre si c'est nécessaire.

=REMPLACER(A1;TROUVE("""";A1;1);TROUVE("""";A1;TROUVE("""";A1;1)+1)-TROUVE("""";A1;1)+1;"")

A1 étant la cellule qui contient le texte.

Cordialement.

merci et par macro cela donne quoi

Essaie ceci, ça marche si le texte à ignorer se trouve entre les deux premiers guillemets :

Sub Récup_Texte()
Dim Txt_Ignore As String
Dim P1 As Long, P2 As Long
Dim NvChn As String

Dim CL As Range
For Each CL In Selection
  'Position du 1er guillemet
  P1 = InStr(CL, Chr(34))
  If P1 > 0 Then
    'Position du 2e guillemet
    P2 = InStr(P1 + 1, CL, Chr(34))
    If P2 > 0 Then
      Txt_Ignore = " " & Mid(CL, P1, P2 - P1 + 1)
      NvChn = Replace(CL, Txt_Ignore, "")
      MsgBox NvChn
      ' ou bien
      ' CL.Offset(0, 1) = NvChn
      ' par exemple
    End If
  End If
Next
End Sub

Sélectionne quelques chaînes à traiter avant de lancer la macro.

Bonjour.

C'est encore moi. Voilà une fonction qui fait l'affaire.

Function MajSpTexte(CellAvant As Range) As String

Dim Contenu As String

Dim Resultat As String

Dim LongStr As Integer

Dim PG1 As Integer

Dim PG2 As Integer

Dim TxtSup As String

Contenu = CellAvant.Value

Resultat = Contenu

LongStr = Len(Contenu)

PG1 = InStr(1, Contenu, """")

PG2 = InStr(PG1 + 1, Contenu, """")

TxtSup = Mid(Contenu, PG1, PG2 - PG1 + 1)

Debug.Print PG1 & " " & PG2 & " " & TxtSup

Resultat = Replace(Contenu, TxtSup, "")

MajSpTexte = Resultat

End Function

A mettre dans la cellule de récupération :

=MajSpTexte(Cellule contenant le string à considérer)

Rechercher des sujets similaires à "recuperer chaine caractere vba"