Aide excel fonction

Résolu/Fermé
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 - Modifié par amine69500 le 22/08/2012 à 14:13
Raymond PENTIER Messages postés 58400 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 29 avril 2024 - 23 août 2012 à 17:47
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
A voir également:

6 réponses

Raymond PENTIER Messages postés 58400 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 29 avril 2024 17 096
22 août 2012 à 22:11
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
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 12
23 août 2012 à 09:36
Bonjour raymond et merci de votre aide

oui c'est toute a fait ca

merci

cordialement
0
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
23 août 2012 à 09:38
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
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 12
23 août 2012 à 14:27
Bonjour,

Super merci ca marche super bien,

mais mon but est de faire ca en code vba

Cordialement
0
Raymond PENTIER Messages postés 58400 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 29 avril 2024 17 096
23 août 2012 à 17:47
Il fallait le dire dès le départ : Tu as bien demandé "une fonction", pourtant, pas "un code" !
0

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

Posez votre question
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 183
23 août 2012 à 15:48
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
amine69500 Messages postés 418 Date d'inscription lundi 8 juin 2009 Statut Membre Dernière intervention 25 août 2013 12
23 août 2012 à 16:58
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