Extraire chiffres d'ne cellule excel

LMEbis Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Et merci d'avance à ceux ou celles qui prendront le temps de lire et de m'aider à trouver une solution.
J'ai ce type de données dans des cellules :

GARANTIE 12MOIS
CONSTRUCTEUR 24
CONSTRUCTEUR 24
CONSTRUCTEUR 12
GARANTIE 12MOIS
CONSTRUCTEUR 24
Garantie 6 mois
GARANTIE 12MOIS
GARANTIE 12MOIS
Garantie 6 mois
CONSTRUCTEUR 24
Garantie 3 mois
CONSTRUCTEUR 24
CONSTRUCTEUR 24

Et il faut que je récupère seulement les mois de garantie, soit
12
24
24
12
12
...

Quelqu'un peut-il m'aider ?

Un grand merci encore !

4 réponses

Fahora Messages postés 814 Date d'inscription   Statut Membre Dernière intervention   68
 
Bonjour,

=STXT(A1;EQUIV(VRAI;ESTNUM(CNUM(STXT(A1;LIGNE($1:$255);1)));0);2)


Fonction a rentrer en maintenant CTRL + SHIFT (fonction matricielle)
Il doit apparaitre des accolades autour de la fonction :

{=STXT(A1;EQUIV(VRAI;ESTNUM(CNUM(STXT(A1;LIGNE($1:$255);1)));0);2)}

Cordialement,
Nos seules limites sont celles que nous nous imposons nous-même.
La politesse et un merci ne tuent pas. Il existe un bouton pour "Résolu" pour confirmer que     votre problème n'en est plus un. Fahora
3
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjouir
essayez cette formule pur un texte en A1:

=STXT(A1;TROUVE(" ";A1)+1;SI(DROITE(MAJUSCULE(A1);4)="MOIS";NBCAR(STXT(A1;TROUVE(" ";A1)+1;10))-4;2))*1

ne fonction que si:
le nombre est bienjuste après le 1° blanc
le texte derrière le chiffre est Mois ou rien
crdlmnt
0
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
Bonjour à tous,
Un peu de gymnastique avec les fonctions Texte:
=DROITE(SUPPRESPACE(SUBSTITUE(MAJUSCULE(A2);"MOIS";""));2)*1
Bien sûr à vérifier.
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonjour,

avec une fonction personnalisée, colle ce code dans un module

Function EXTNUM(Cellule As Range)
M = Cellule.Value
Application.Volatile
For i = 1 To Len(M)
If IsNumeric(Mid(M, i, 1)) Then
M = Mid(M, i)
Exit For
End If
Next
EXTNUM = Val(M)
End Function

et appelle la fonction personnalisée dans la première cellule de ton choix et incrémente vers le bas
-1