Extraire chiffre d'une cellule excel

Résolu/Fermé
Ray - 24 sept. 2009 à 16:05
 Anonyme - 25 sept. 2009 à 10:01
Bonjour à tous et toutes,

Après plusieurs recherches sur divers forums, je ne trouve pas une réponse claire à ma question.
J'ai des formules excel du type:

'groupe égal à Groupe (Xit)' + 'groupe égal à Lutte (MIT)' + 'groupe égal à RR0302ind3459 (temps 2 )'

'groupe égal à Groupe pièges (XiT)' + 'groupe égal à Lutte anti Spam (MIT)' + 'groupe égal à RR0805ind3349 (renfort pain miel)'

Je voudrais obtenir le numéro à 4 chiffres après le fameux "ind"...

J'ai essayé en faisant des =gauche / = droite mais c'est très imprécis sachant que le nombre de caractère est modifié quasiment à chaque cellule. Par contre, il y a toujours la partie "RR0805ind3349"

Seriez vous m'aider svp? Vous me seriez d'un grand secours !

Bien cordialement, bonne journée à tous et toutes !

3 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
24 sept. 2009 à 17:02
Pas de problème:
le code STXT précise à excel qu'il faut éditer en résultat un texte dont le nombre de caractères est indiqué à la fin de la formule, après le dernier point virgule (ici 4) en commençant par le caractére dont le rang dans le texte est indiqué entre les deux point-virgules.
Reste à définir le départ du texte à éditer, puisque l'on veut obtenir 4 caractéres
La formule TROUVE recherche le texte dans la phrase et renvoi la position de son premier caractère, d'ou la nécessité d'appliquer la formule "trouve" en rajoutant 3 puisque le code recherché comprend 3 lettres.
Ainsi:
STXT(A1 définit le texte à exploiter
;TROUVE("ind";A1;1)+3 définit la position du premier caractère après ind, d'ou va démarrer STXT
;4) définit le nombre de caractères à éditer.
Pour mieux comprendre, vous pouvez tester en utilisant l'une ou l'autre des formules seules, par exemple:
=STXT(A1;10;4) vous renverra les 4 caractères après le 10°
=TROUVE("ind";A1;1) vous renverra le rang ou se trouve le 1° caractère de ind
=TROUVE("ind";A1;1)+3 vous renverra le rang du 1° caractère après ind
Bonne route
Crdlmnt
10
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
24 sept. 2009 à 16:22
Bonjour
si votre texte est en A1 essayez en B1:
=STXT(A1;TROUVE("ind";A1;1)+3;4)
Ca ne marche que:
1°) s'il n'y a qu'un ind dans la phrase (sinon, la formule s'arrète au 1°)
2°) si le n° a sortir est bien à 4 chiffres
Crdlmnt
2
Bonjour Vaucluse,

Merci beaucoup pour votre aide si rapide!
Votre formule marche parfaitement. Par contre, je ne comprend pas trop comment elle marche, pouvez vous svp me l'expliquer?

Merci d'avance !
0
Super, c'est très clair.

Merci pour ces explications et pour votre aide.

Cordialement,
0