Aide excel fonction

Résolu
amine69500 Messages postés 471 Statut Membre -  
Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   -
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. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    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
  2. amine69500 Messages postés 471 Statut Membre 12
     
    Bonjour raymond et merci de votre aide

    oui c'est toute a fait ca

    merci

    cordialement
    0
  3. Morgothal Messages postés 1350 Statut Membre 184
     
    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
  4. amine69500 Messages postés 471 Statut Membre 12
     
    Bonjour,

    Super merci ca marche super bien,

    mais mon but est de faire ca en code vba

    Cordialement
    0
    1. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
       
      Il fallait le dire dès le départ : Tu as bien demandé "une fonction", pourtant, pas "un code" !
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Morgothal Messages postés 1350 Statut Membre 184
     
    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
  7. amine69500 Messages postés 471 Statut Membre 12
     
    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