Aide excel fonction

Résolu
Bonjour,

je souhaiterais savoir s'il existe une fonction permettant de recuperer ceratines données dans une chaine de caractere,
exemple :

la chaine de caractere:

"xx","id":"10001","name":"testcomponent1","lead","yy","id":"10002","name":"testcomponent2","lead","zz","id":"10003","name":"testcomponent3","lead","aa","id":"10004","name":"testcomponent4","lead",

et donc le but est de recuperer juste les "testcomponents" (1,2,3,4)

merci de votre aide

cordialement

6 réponses

  1. Contributeur
    Bonjour.

    Voyons si j'ai tout compris :
    Dans la cellule A1 il y a le texte
    "xx","id":"10001","name":"testcomponent1","lead","yy","id":"10002","name":"testcomponent2","lead","zz","id":"10003","name":"testcomponent3","lead","aa","id":"10004","name":"testcomponent4","lead"

    et tu veux trouver en A2 une formule qui donnera comme résultat
    testcomponent1;testcomponent2;testcomponent3;testcomponent4

    On est bien d'accord ?
    0
    1. Bonjour raymond et merci de votre aide

      oui c'est toute a fait ca

      merci

      cordialement
      0
      1. Bonjour à vous deux,
        Si la situation décrite par Raymond est exacte, cette formule fonctionne :
        =STXT(A1;TROUVE("name";A1;1)+7;14) & ";"& STXT(A1;TROUVE("name";A1;TROUVE("name";A1;1)+5)+7;14) & ";" & STXT(A1;TROUVE("name";A1;TROUVE("name";A1;TROUVE("name";A1;1)+5)+5)+7;14) & ";"&STXT(A1;TROUVE("name";A1;TROUVE("name";A1;TROUVE("name";A1;TROUVE("name";A1;1)+5)+5)+5)+7;14) 
        Tous les 14 qu'on peut trouver dans la formule correspondent à la longeur en nombre de caractères de la chaîne de caractère à extraire (testcomponent1 fait 14 caractères).
        0
        1. Bonjour,

          Super merci ca marche super bien,

          mais mon but est de faire ca en code vba

          Cordialement
          0
          1. Contributeur
            Il fallait le dire dès le départ : Tu as bien demandé "une fonction", pourtant, pas "un code" !
            0
        2. Ce code permet de récupérer les valeurs dans les variables tc1, tc2, tc3 et tc4 :
          Sub extraction_chaines()
          Dim tc1, tc2, tc3, tc4, chaine As String
          
          chaine = Range("A1").Value
          
          tc1 = Mid(chaine, InStr(1, chaine, "name") + 7, 14)
          tc2 = Mid(chaine, InStr(InStr(1, chaine, "name") + 5, chaine, "name") + 7, 14)
          tc3 = Mid(chaine, InStr(InStr(InStr(1, chaine, "name") + 5, chaine, "name") + 5, chaine, "name") + 7, 14)
          tc4 = Mid(chaine, InStr(InStr(InStr(InStr(1, chaine, "name") + 5, chaine, "name") + 5, chaine, "name") + 5, chaine, "name") + 7, 14)
          
          MsgBox tc1 & " " & tc2 & " " & tc3 & " " & tc4
          
          End Sub 


          A toi de les utiliser pour les utiliser à ta guise ;)

          A+
          0
          1. Bonjour et merci a tous pour votre aide

            ca marche super reste a moi de les adapter a mon besoin

            merci encore

            Cordialement

            Amine
            0