Extraire des données d'une chaine de caractères

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pancaspremium

XLDnaute Occasionnel
bonjour
dans le fichier annexé j'essaie d'extraite le montant par exemple dans a1 8,741.59
ce que l'on peut dire c'est que le mot settled est toujours à la fin

le but final est d'avoir le montant tout seul dans b1 etc

est-ce possible vu que le montant change et que le nom devant le montant change aussi

merci à tous
 
Re : Extraire des données d'une chaine de caractères

Hello,

Une formule de l'ami Tibo, que je salue, qui apparemment fonctionne dans tous les cas..

En B1 et à valider par Ctrl+Maj+Enter (formule matricielle)
Code:
=STXT(A1;MIN(SI(ESTNUM(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1)*LIGNE(INDIRECT("1:"&NBCAR(A1)))<>0;ESTNUM(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1)*LIGNE(INDIRECT("1:"&NBCAR(A1)))));MAX(ESTNUM(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1)*LIGNE(INDIRECT("1:"&NBCAR(A1))))-MIN(SI(ESTNUM(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1)*LIGNE(INDIRECT("1:"&NBCAR(A1)))<>0;ESTNUM(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1)*LIGNE(INDIRECT("1:"&NBCAR(A1)))))+1)
Ok un poil longue mais efficace !

EDIT : Ici si tu veux plus de détails... et merci à Tibo !
 
Dernière édition:
Re : Extraire des données d'une chaine de caractères

Bonjour pancaspremium, salut Hulk,

Hulk, je ne me souvenais pas avoir commis cette formule.

J'ai relu le fil que tu mets en lien.

Mais pour aider notre ami, rien de tel qu'un fichier exemple qui permettra d'envisager une formule peut-être plus courte.

Donc Pancaspremium, si tu nous écoutes, un petit fichier exemple serait le bienvenu.

@+
 
Re : Extraire des données d'une chaine de caractères

Bonjour pancaspremium, Bonjour Hulk 🙂, Bonjour Tibo 🙂,

Peut-être

Code:
=STXT(A1;CHERCHE("µ";SUBSTITUE(GAUCHE(A1;CHERCHE(".";A1));" ";"µ";NBCAR(GAUCHE(A1;CHERCHE(".";A1)))-NBCAR(SUBSTITUE(GAUCHE(A1;CHERCHE(".";A1));" ";""))))+1;CHERCHE("Settled";A1)-CHERCHE("µ";SUBSTITUE(GAUCHE(A1;CHERCHE(".";A1));" ";"µ";NBCAR(GAUCHE(A1;CHERCHE(".";A1)))-NBCAR(SUBSTITUE(GAUCHE(A1;CHERCHE(".";A1));" ";""))))-2)

Edit : Ou en VBA...

Code:
Function ExtrChiffre(Chaine As String) As String
Dim Tablo
    Tablo = Split(Trim(Chaine))
    ExtrChiffre = Tablo(UBound(Tablo) - 1)
End Function
 
Dernière édition:
Re : Extraire des données d'une chaine de caractères

re,

Salut tototiti 🙂,

Une autre tentative formule :

Code:
=STXT(GAUCHE(A1;CHERCHE("Settled";A1)-1);CHERCHE("µ";SUBSTITUE(GAUCHE(A1;CHERCHE("Settled";A1)-1);" ";"µ";NBCAR(GAUCHE(A1;CHERCHE("Settled";A1)-1))-NBCAR(SUBSTITUE(GAUCHE(A1;CHERCHE("Settled";A1));" ";""))));99)

Y a peut-être moyen de faire mieux

@+
 
Re : Extraire des données d'une chaine de caractères

re,

Une version un peu nettoyée :

Code:
=STXT(GAUCHE(A1;CHERCHE("Settled";A1)-2);CHERCHE("µ";SUBSTITUE(A1;" ";"µ";NBCAR(GAUCHE(A1;CHERCHE("Settled";A1)-2))-NBCAR(SUBSTITUE(GAUCHE(A1;CHERCHE("Settled";A1)-2);" ";""))))+1;99)

@+
 
Re : Extraire des données d'une chaine de caractères

Bonsoir

Pour le fun, quelques variantes en pièce jointe
*une première,
Code:
SUBSTITUE(STXT(A1;CHERCHE("ù";SUBSTITUE(SUBSTITUE(A1;"   ";"  ");" ";"ù";10))+1;NBCAR(A1));" Settled";"")
* la seconde qui ne fonctionne bien que si toutes les données commencent par des espaces suivis d'un H
Code:
SUBSTITUE(STXT(STXT(A1;CHERCHE("H";A1);NBCAR(A1));CHERCHE("ù";SUBSTITUE(STXT(A1;CHERCHE("H";A1);NBCAR(A1));" ";"ù";8))+1;NBCAR(A1));" Settled";"")
* une variante de la formule précédente, avec la même restriction
Code:
SUBSTITUE(STXT(A1;CHERCHE("H";A1)+CHERCHE("ù";SUBSTITUE(STXT(A1;CHERCHE("H";A1);NBCAR(A1));" ";"ù";8));NBCAR(A1));" Settled";"")
* et une dernière, qui ne fonctionne que si il y a au max 3 chiffres devant la virgule (Si il y en a plus, il faut changer les -4 en conséquence)
Code:
SUBSTITUE(STXT(STXT(A1;CHERCHE(",";A1)-4;NBCAR(A1));CHERCHE(" ";STXT(A1;CHERCHE(",";A1)-4;NBCAR(A1)))+1;NBCAR(A1));" Settled";"")

@ plus
 

Pièces jointes

Dernière édition:
Re : Extraire des données d'une chaine de caractères

Bonsoir à tous


Deux autres fonctions en VBA dans le classeur joint.
VB:
Function xtrc$(s$)
    xtrc = StrReverse(Split(StrReverse(Trim(Replace(s, Chr(160), " "))))(1))
End Function

Function xtrn#(s$)
    xtrn = Replace(Replace(StrReverse(Split(StrReverse(Trim(Replace(s, Chr(160), " "))))(1)), ",", ""), ".", ",")
End Function


ROGER2327
#5381


Mardi 17 Décervelage 139 (Saint Mandrin, poète et philosophe - fête Suprême Quarte)
24 Nivôse An CCXX, 9,7659h - cuivre
2012-W02-6T23:26:17Z
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
14
Affichages
819
Réponses
10
Affichages
567
Retour