XL 2016 Extraire un chiffre d'un nom de produits

Seven

XLDnaute Nouveau
Bonjour à Tous,

Je viens appeler à l'aide pour une formule dont j'ai besoin pour m'éviter de le faire manuellement sur 600 lignes...

Je vous met en situation: J'ai besoin d'extraire une valeur (Chiffre) qui est dans une cellule qui comporte également du texte en sachant que le texte peut changer (et donc le nombre de Caractères avant ou après la valeur que je cherche à extraire)

Dans les cellules j'ai le nom complet du produits avec quelques spécifications comme suit:
A1: "Marque Chocolat 25gr 12pce FR CH"​
A2: "Marque Boisson 125ml 6 pce FR ANG CH"​
  • Je met "pce" en gras car c'est la seule valeur qui ne change jamais, ce sera toujours écrit pareil, il y aura parfois un espace qui la sépare du chiffre, mais c'est la seule référence que je peux avoir
En cellule B2 je voudrais extraire juste la quantité qu'il y a dans chaque emballage en l’occurrence:
B1: "12"​
B2: "6"​
J'ai essayé plusieurs formules (imbriquées ou pas) avec =Right/Left/Mid/Search mais je vous avoue que je n'ai rien réussi, je suis limité par mon niveau...

Quelqu’un pourrait m'aider ?

Merci d'avance et bonne soirée et bon confinement,
Seven
 

jmfmarques

XLDnaute Accro
Bonjour
J'ai bien une solution relativement simple par formule, mais à la condition toutefois que ces "nombres" recherchés soient compris entre 1 et 99
Est-ce le cas ?

EDIT : croisé avec Sylvanu (dont je ne connais toutefois pas la solution)
 

Seven

XLDnaute Nouveau
Hello Hello,

Merci beaucoup pour vos rapides et efficaces réponses ! Par question de curiosité, pourrais-tu m'expliquer pourquoi tu ne peux pas aller au-delà de 99 (mes chiffres ne dépassent pas le 30 mais c'est juste pour comprendre)

Aussi, pourquoi tu as utilisé =Cnum et Substitue j'ai pas compris comment elles fonctionnent malgré mes recherches..

Très bonne journée à vous,
Seven
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
CNUM transforme une chaine de caractères en nombre.
Dans l'absolu ça ne sert à rien, sauf si vous voulez faire des calculs dessus, comme par exemple la somme des pièces.

Je me suis aperçu que devant le nombre ce n'était pas un espace ( code 32 ) mais autre chose ( code 160 ), et ça posait problème pour mon CNUM alors je l'ai retiré par le Substitue.

En clair en B1 on aurait pu avoir :
VB:
=STXT(A1;TROUVE("pce";A1)-3;3)
C'était suffisant, mais on ne peut mener aucun calcul dessus.

Pourquoi 99 ? Tout simplement parce que cela fait au max 2 caractères, et que je n'extrait que deux caractères. Sinon en en prenant 3 avec 6pce, j'obtiens "l 6" et ce n'est plus la quantité.
 

Amilo

XLDnaute Accro
Re,

Sans fichier exemple de la part de Seven, difficile de deviner qu'il pouvait y avoir des espaces insécables.
Une autre proposition en colonne D sur la base du fichier à sylvanu et quelque soit le nombre de quantités.

=--SUPPRESPACE(DROITE(SUBSTITUE(SUPPRESPACE(GAUCHE(SUBSTITUE(A1;CAR(160);CAR(32));CHERCHE("pce";SUBSTITUE(A1;CAR(160);CAR(32));1)-1));" ";REPT(" ";200));200))

Cordialement
 

Pièces jointes

  • Seven.xlsx
    9.5 KB · Affichages: 7
Dernière édition:

Statistiques des forums

Discussions
312 080
Messages
2 085 152
Membres
102 795
dernier inscrit
lo74