Extraire des chiffres dans une cellule avec du texte

MAZETTE

XLDnaute Occasionnel
Bonjour à tous,

Je souhaiterai à partir d'une cellule contenant des chiffres et du texte extraire les données contenant les chiffres.

exemple:

2 x 76 pièces me donne 2 et plus loin 76
10 x 143 tranches me donne 10 et plus loin 143

avec quelques variantes que j'ai mis en pièce jointe

Pour le début c'est presque ok mais je bloque si ce n'est pas ub chiffre au départ pour la fin là par contre je ne trouve pas

Je vous ai mis un fichier en pièce jointe avec un début de projet.

Merci à vous
 

Pièces jointes

  • test.zip
    6.8 KB · Affichages: 89
  • test.zip
    6.8 KB · Affichages: 87
  • test.zip
    6.8 KB · Affichages: 87

James007

XLDnaute Barbatruc
Re : Extraire des chiffres dans une cellule avec du texte

Bonjour,

Je trouve que tu as très bien avancé ... je ne vois pas vraiment ce qui te bloque ...??? puisque tu connais déjà toutes les formules de base ...

A +
 

vbacrumble

XLDnaute Accro
Re : Extraire des chiffres dans une cellule avec du texte

Bonjour à tous


Tu peux aussi utiliser Donnés/Convertir (l'extraction sera trés rapide)

Ensuite, il s'agit plus de mise en forme


(Le tout pouvant être fait en lançant au préalable le macro recorder)
 

JNP

XLDnaute Barbatruc
Re : Extraire des chiffres dans une cellule avec du texte

Bonjour le forum :),
Une formule qui ne coince que sur une cellule (à cause des sachets).
Code:
=SIERREUR(SUPPRESPACE(GAUCHE(E8;CHERCHE("X";MAJUSCULE(E8);1)-1));1)
Attention, il me semble que SIERREUR n'existe que sur 2007, il faudrait remplacer par l'équivalent en 2003.
Bonne journée :cool:
 

vbacrumble

XLDnaute Accro
Re : Extraire des chiffres dans une cellule avec du texte

Bonjour JNP


En éclatant les formules (sous Excel 2000)
(en copiant les données en A1:B96 sur une feuille vierge - pour test)

en colonne C
=SI(NON(ESTVIDE(B2));ESTNUM(GAUCHE(B2;1)*1);"")

en colonne D
=SI(C2=VRAI;1*SUBSTITUE(STXT(B2;1;CHERCHE(" ";B2));"X";"");"")
je bloque aussi sur 2x2.5kg soit 22

en colonne E
Code:
=SI(ET(C2=VRAI;ESTERREUR(CHERCHE("X";B2))*1=0);1*GAUCHE(STXT(B2;CHERCHE("X";B2)+2;255);CHERCHE(" ";STXT(B2;CHERCHE("X";B2)+2;255)));"")
cette formule bloque sur: 4 SACHETS X 53P
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Extraire des chiffres dans une cellule avec du texte

Re :),
J'ai craqué... :mad:
Je suis passé par VBA en faisant 2 fonctions :
Code:
Function Quantité(AAnalyser As String) As Integer
Dim I As Integer
Dim LongueurChaine As Integer
Dim PremierNombre As String
LongueurChaine = Len(AAnalyser)
For I = 1 To LongueurChaine - 1
    If IsNumeric(Left(AAnalyser, 1)) Then
        PremierNombre = PremierNombre & Left(AAnalyser, 1)
    Else
        If PremierNombre <> "" Then Exit For
    End If
    AAnalyser = Right(AAnalyser, Len(AAnalyser) - 1)
Next I
If PremierNombre <> "" Then Quantité = CInt(PremierNombre) Else Quantité = 1
End Function
et
Code:
Function PoidsVolume(AAnalyser As String) As Double
Dim I As Integer
Dim LongueurChaine As Integer
Dim PremierNombre As String
Dim DeuxièmeChiffre As Boolean
DeuxièmeChiffre = False
LongueurChaine = Len(AAnalyser)
For I = 1 To LongueurChaine - 1
     If IsNumeric(Left(AAnalyser, 1)) Or Left(AAnalyser, 1) = "." Then
        If IsNumeric(Left(AAnalyser, 1)) Then
            PremierNombre = PremierNombre & Left(AAnalyser, 1)
        Else
            PremierNombre = PremierNombre & ","
        End If
    Else
        If PremierNombre <> "" And DeuxièmeChiffre = True Then Exit For
        If PremierNombre <> "" And DeuxièmeChiffre = False Then
            PremierNombre = ""
            DeuxièmeChiffre = True
        End If
    End If
    AAnalyser = Right(AAnalyser, Len(AAnalyser) - 1)
Next I
If PremierNombre <> "" Then PoidsVolume = CDbl(PremierNombre) Else PoidsVolume = 1
End Function
et enfin plus de cas particulier qui m'en... :p
Je suis parti du principe que la quantité ne pouvait pas être décimale, alors que le poids, lui, oui.
Bonne journée :cool:
 

vbacrumble

XLDnaute Accro
Re : Extraire des chiffres dans une cellule avec du texte

Re


Je n'ai pas craqué

On touche presque au but.

En utilisant plusieurs colonnes intermédiaires
(que l'on pourrait réduire en nommant des formules ou utilisant des mégaformules )

J'arrive au résultat suivant.

Les cellules jaunes sont celles où les formules sont OK.
 

Pièces jointes

  • testformules.zip
    19.8 KB · Affichages: 65

abcd

XLDnaute Barbatruc
Re : Extraire des chiffres dans une cellule avec du texte

Bonjour à vous tous,

Une proposition par formule nommée pour le premier nombre.

Pour le second nombre, je ne comprends pas les résultats à obtenir, voir la pièce jointe.

abcd
 

Pièces jointes

  • mazette V1.xls
    43.5 KB · Affichages: 87

JNP

XLDnaute Barbatruc
Re : Extraire des chiffres dans une cellule avec du texte

Bonjour Abcd :),
Pour la deuxième colonne, c'est le poids/volume qu'il faut obtenir.
Vbacrumble : quand je vois tes formules, je ne regrette pas d'avoir craqué ... Je te prépare 1 ou 2 aspirines ? :D
Bon courage :cool:
 

vbacrumble

XLDnaute Accro
Re : Extraire des chiffres dans une cellule avec du texte

Re

Merci JNP


Non ca ira, car personnellement, je serai passer par données/convertir
puis concaténation

(le tout par macro les jours de fainéantise)

PAr contre si tu as un conseil, pour lutter contre une douleur liée à une sciatique, je suis preneur.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87