Renvoie le chiffre contenu dans un texte

jeromeN95

XLDnaute Impliqué
Bonsoir à tous,
j'ai besoin d'aide, je ne sais pas si c'est l'heure ou mes Papacité en informatique, mais je n'arrive pas à
renvoyer le chiffre qui est contenu dans une phrase.

La phrase exacte est : "il y a 5 décontaminations par mois".
Cette phrase est écrite parmie d'autres phrase dans la plage : I5:I12
J'aimerai renvoyer en G13 la valeur "5".

Bonne soirée et merci d'avance.
 

R@chid

XLDnaute Barbatruc
Re : Renvoie le chiffre contenu dans un texte

Bonsoir,
une pièce jointe qui montre les différents cas possibles sera plus parlante...
si ta phrase et en I5,
Code:
=INDEX(STXT(I5;LIGNE(INDIRECT("1:"&NBCAR(I5)));1);EQUIV(99;1*(STXT(I5;LIGNE(INDIRECT("1:"&NBCAR(I5)));1));1))
@ valider par Ctrl+Maj+Entree
@ micalement

Edit : Bonsoir l'ami :)
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Renvoie le chiffre contenu dans un texte

Bonjour jeromeN95, R@chid,

Une autre formule qui ne fonctionne que pour les nombres (entiers ou décimaux) positifs.

Formule matricielle (à valider par Ctrl+Maj+Entrée) :
Code:
=STXT(I5;EQUIV(VRAI;ESTNUM(CHERCHE(STXT(I5;LIGNE(INDIRECT("1:" & NBCAR(I5)));1); "0123456789"));0);CHERCHE(" ";I5 & " ";EQUIV(VRAI;ESTNUM(CHERCHE(STXT(I5;LIGNE(INDIRECT("1:" & NBCAR(I5)));1); "0123456789"));0))-EQUIV(VRAI;ESTNUM(CHERCHE(STXT(I5;LIGNE(INDIRECT("1:" & NBCAR(I5)));1); "0123456789"));0))
 
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Renvoie le chiffre contenu dans un texte

ReBonsoir @ tous,
( .............................................................. ) :eek: ,
Code:
=1*STXT(I5;EQUIV(VRAI;ESTNUM(1*(STXT(I5;LIGNE(INDIRECT("1:"&NBCAR(I5)));1)));0);NB(1*(STXT(I5;LIGNE(INDIRECT("1:"&NBCAR(I5)));1)))+NB(TROUVE(",";I5)))
@ valider par Ctrl+Maj+Entree
@ micalement
 
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Renvoie le chiffre contenu dans un texte

Bonjour @ tous,
une autre qui fonctionne avec nombres positifs ou négatifs...
Code:
=1*STXT(I5;EQUIV(VRAI;ESTNUM(STXT(I5;LIGNE(INDIRECT("1:"&NBCAR(I5)));1)*1);0)-NB(TROUVE("-";I5));NB(STXT(I5;LIGNE(INDIRECT("1:"&NBCAR(I5)));1)*1)+NB(TROUVE(",";I5))+NB(TROUVE("-";I5)))
@ valider toujours par Ctrl+Maj+Entree
Amicalement
 

Pièces jointes

  • Jerome.xls
    26 KB · Affichages: 34
  • Jerome.xls
    26 KB · Affichages: 36
  • Jerome.xls
    26 KB · Affichages: 31

jeromeN95

XLDnaute Impliqué
Re : Renvoie le chiffre contenu dans un texte

Bonsoir,
merci pour vos reponses rapides.
je pense avoir oublier de donner une information:

dans la plage, il se peut qu'il y est d'autres phrases contenant un chiffre, comme dans mon exemple.
 

Pièces jointes

  • Classeur1.xls
    30.5 KB · Affichages: 39
  • Classeur1.xls
    30.5 KB · Affichages: 41
  • Classeur1.xls
    30.5 KB · Affichages: 35

jeromeN95

XLDnaute Impliqué
Re : Renvoie le chiffre contenu dans un texte

Bonsoir,
La phrase exacte qui se trouve dans la plage ' I5:I12 ' est : "il y a X décontaminations par mois".
Cette phrase est écrite parmie d'autres phrase dans la plage : I5:I12.
J'aimerai renvoyer en G13 la valeur "X".

Sachant que la phrase peut se trouver en I5 ou I6 ou I7 ou I8 ou I9 ou I10 ou I11 ou I12 ou pas du tout.

Je ne sais pas si c'est faisable par macro?;;
Bonne soirée.
 

R@chid

XLDnaute Barbatruc
Re : Renvoie le chiffre contenu dans un texte

Bonsoir,

en D3,
Code:
=ADRESSE(4+EQUIV(VRAI;ESTNUM(CHERCHE("il y a*décontamination*";I5:I12));0);COLONNE(I1))


en D4,
Code:
=1*STXT(INDIRECT(D3);EQUIV(VRAI;ESTNUM(STXT(INDIRECT(D3);LIGNE(INDIRECT("1:"&NBCAR(INDIRECT(D3))));1)*1);0)-NB(TROUVE("-";INDIRECT(D3)));NB(STXT(INDIRECT(D3);LIGNE(INDIRECT("1:"&NBCAR(INDIRECT(D3))));1)*1)+NB(TROUVE(",";INDIRECT(D3)))+NB(TROUVE("-";INDIRECT(D3))))

Les 2 Formules @ valider par Ctrl+Maj+Entree


Amicalement
 

jeromeN95

XLDnaute Impliqué
Re : Renvoie le chiffre contenu dans un texte

Bonsoir,
super merci.

Mais...
Lorsqu'il n'y a pas de décontamination, il est écrit "Il n'y a pas de décontamination".
Du coup, la formule me renoie #erreur#N/A

J'ai rajouter des si... :
SI((I5)="il n'y a pas de décontamination";;SI((I6)="il n'y a pas de décontamination";"";SI((I7)="il n'y a pas de décontamination";"";SI((I8)="il n'y a pas de décontamination";"";...

Mais ca ne fonctionne pas sur la 2ieme formule.
J'ai besoin qu'il ne me renvoi pas d'erreur car se lance une macro qui plante si la cellule contenant le nombre de décontamination est une erreur.

Avez vous des solutions pour cela?
Bonne soirée.
 

jeromeN95

XLDnaute Impliqué
Re : Renvoie le chiffre contenu dans un texte

bonsoir,
je te remercie,
par contre j'arrive pas à le transferer à mon fichier final... .
Les formules ne donnent pas les mêmes résultats.
Etrange, et plus simple, on sais faire sous Macro ? VBA peux être est la solution... .
 

Discussions similaires

Réponses
26
Affichages
378

Statistiques des forums

Discussions
312 198
Messages
2 086 149
Membres
103 132
dernier inscrit
hedfahmi