Extraire des valeurs dans une chaine

Résolu/Fermé
wateroc - 2 févr. 2009 à 16:32
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 - 5 févr. 2009 à 14:26
Bonjour,

Je cale sous excel ! Je sais bien que le sujet a déjà été aborder mais je n'arrive pas à appliquer les conseils à mon cas.
Voilà le problème :
Je dois extraire les valeurs entre guillemets dans les chaines suivantes ; par exemple,
  <chart1_CategoryGroup1 Label="5" DataValue0="80" />
  <chart1_CategoryGroup1 Label="12" DataValue0="7" />

comment puis je faire pour les repérer et les extraire vers une autre cellule du tableau (5 et 80 puis 12 et 7)?
Merci à tous par avance
David
A voir également:

4 réponses

m@rina Messages postés 21118 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 3 décembre 2024 11 364
2 févr. 2009 à 17:45
Bonjour,

Les chiffres à trouver sont toujours au nombre de 1 ou 2 ?

m@rina
0
al1_delon Messages postés 259 Date d'inscription samedi 27 décembre 2008 Statut Membre Dernière intervention 16 octobre 2009 25
2 févr. 2009 à 18:10
Bonjour,

1ère donnée:
<chart1_CategoryGroup1 Label="5" DataValue0="80" /> en C8
2ème donnée:
<chart1_CategoryGroup1 Label="12" DataValue0="7" /> en C9

=STXT(C8;31;1) extrait 5
=STXT(C8;46;2) extrait 80
=STXT(C9;31;2) extrait 12
=STXT(C8;47;1) extrait 7

le probleme est que les données numériques sont de longueur variable.
donc pour la 1ère donnée que je place en I8:

=SI(ESTNUM(CNUM(STXT(C9;31;2)));CNUM(STXT(C9;31;2));CNUM(STXT(C9;31;1))) extrait 5 en I8.
=SI(NBCAR(I8)=2;SI(ESTNUM(CNUM(STXT(C8;47;2)));CNUM(STXT(C8;47;2));CNUM(STXT(C8;47;1)));SI(ESTNUM(CNUM(STXT(C8;46;2)));CNUM(STXT(C8;46;2));CNUM(STXT(C8;46;1)))) extrait 80 en J8


Par contre il faut que le texte soit toujours le même.
0
Merci à tous les 2 pour m'avoir consacré du temps.

Bravo à al1 pour la solution

A+
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
5 févr. 2009 à 14:26
Bonjour

voici 2 formules matricielle queque soient la position et le nombre de caracteres entre guillements
entre les 2 premier guillemets
=STXT(A1;PETITE.VALEUR(SI(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)=CAR(34);LIGNE(INDIRECT("1:"&NBCAR(A1)));9^9);1)+1;PETITE.VALEUR(SI(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)=CAR(34);LIGNE(INDIRECT("1:"&NBCAR(A1)));9^9);2)-PETITE.VALEUR(SI(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)=CAR(34);LIGNE(INDIRECT("1:"&NBCAR(A1)));9^9);1)-1)


entre le 3eme et le 4eme
=STXT(A1;PETITE.VALEUR(SI(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)=CAR(34);LIGNE(INDIRECT("1:"&NBCAR(A1)));9^9);3)+1;PETITE.VALEUR(SI(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)=CAR(34);LIGNE(INDIRECT("1:"&NBCAR(A1)));9^9);4)-PETITE.VALEUR(SI(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)=CAR(34);LIGNE(INDIRECT("1:"&NBCAR(A1)));9^9);3)-1)

en souligné les numero des guillemets concernés

pour valider une formule matricielle appyer simultanement sur CTRL + MAJ + ENTREE
0