Extraire une information avec critère

Bonjour à tous,

Voici ma problématique :

J'ai besoin d'une formule qui trouve un critère dans une cellule & qu'elle me donne les 3 chiffres qui précède.

Dans B2 :

Chocolat 300G en poudre

Objectif :

C2 :

300G

Si je trouve G dans la cellule B2, j'indique en C2 les 3 nombres avant le critère G.

Le but étant d'extraire une information de la cellule.

Ci-joint un exemple.

Merci d'avance,

Proposition

=SI(ESTERREUR(CHERCHE("G";B2));"";STXT(B2;CHERCHE("G";B2)-3;3))

Merci,

Cela règle une partie du problème.

Dans le fichier excel joint, j'ai indiqué quelques exemples supplémentaires tel que :

B3

barre 4x100G caramel

C3 :

4x100G

ou

B4

Boite Gold 150g

C4

150G

Aurais-tu une proposition ?

bonjour

bonjour" fils d'acier"

un essai ;j'aurais pu eventuellement condenser en une seule formule mais c'est deja assez coton .......

cordialement

bien sur on peut ameliorer pour faire propre...........

dagus a écrit :

Merci,

Cela règle une partie du problème.

Dans le fichier excel joint, j'ai indiqué quelques exemples supplémentaires tel que :

Aurais-tu une proposition ?

en effet, je n'avais pas ouvert !

c'est le genre de choses que l'on peut aussi traiter en expression régulière, puissant mais pas simple à écrire, je vais regarder

ici >

10dagus.xlsm (16.83 Ko)

salut steelson

c'est pas ma du tout ;mais ou faut -il penetrer pour acceder a de telles fonctonnalités

je t' avoue que j'ai potassé le truc

1) rien dans les fonction " perso" (je m'en doutais)

2)j'ai essayeé sur un autre fichier (pour voir et bien sur, extrapoler ,vu que je suis 0 en vba) :resultat =va te faire voir (#nom#)

de plus lors de mes " essais " j'ai essayé de ne sortir que 300 par exemple ;resultat =3 mais pas les 00

comme tu dois t'en douter je vais plonger la-dedans et ...........chercher ;et (peut etre ) trouver

parce que :ça c'est novateur

cordialement

Salut Tulipe,

j'avoue que je suis souvent impressionné par tes réponses, du pro matriciel !

pour les RegExp, ce n'est pas de la tarte à écrire

ici : la règle écrite est :

".*( [0-9]x[0-9]+[gG]| [0-9]+[gG]).*"

ce qui signifie :

. le point = n'importe quel caractère

* astérisque = en nombre illimité

suivi de

ou bien (avant |)

[0-9]x[0-9]+[gG] signifie un espacepuis un chiffrepuis une croixpuis un chiffrequi peut être répété (signe +) puisg ou G

ou bien (après |)

[0-9]+[gG] signifie espacepuis un chiffrequi peut être répété (signe +) puisg ou G

je pense après réflexion qu'on peut simplifier comme suit :

".*( [0-9x]+[gG]).*"

ce qui donne plus "simplement"

11dagus.xlsm (16.85 Ko)

Il y a une fonction macro qui n'est pas de moi (pas assez timbré ! ) qui s'appuie sur un objet CreateObject("VBScript.RegExp")

Pour apprendre les expressions régulières, il y a quelques sites pas toujours compréhensibles au départ. Mais comme tu le dis, c'est en cherchant qu'on trouve !

re

j'avais à peu près pigé la syntaxe ........ MAIS c'est "regexextract" que mon xl ne veux pas

sur ta pj ça marche ( ce qui me permet de dementibuler et reassembler pour tester et surtout apprendre ..... ) mais sur un autre fichier la fonction n'est pas reconnue ,tout du moins >>>>> non defini ; donc il manque un truc a mon xl 2007 et pourtant il lit ta pj (etonnant)

car il faut avouer quand meme que c'est plus cool que des matricielles sommeprodommées stxfiées .......................... plouf

etpuis on peu faire la pige au vbaiste du mid /len .........

j'avais deja taté de ce genre de critere dans NB.SI ......... mais" niet"

ton ami tulipe qui cherche ;;;;;;;;; en attandant de trouver

re

j'avais mal vu (cherché) regexextract est bien une fonction perso a bourrer dans un module ; donc c'est du pseudo vba

moi qui esperai tomber sur une fonction cachée (genre datedif) .....................

merci d'avoir eveillé ma curiosité

cordialement

tulipe_4 a écrit :

re

j'avais mal vu (cherché) regexextract est bien une fonction perso a bourrer dans un module ; donc c'est du pseudo vba

moi qui esperai tomber sur une fonction cachée (genre datedif) .....................

merci d'avoir eveillé ma curiosité

cordialement

considère les fonctions "bourrées" dans le module comme un add-in, moi-même je l'ai récupéré sans y retoucher

et joue avec les expressions régulières ... et amuse bien tes neurones avec cela !

re

un jour; nous disposerons peut etre de solutions generiques qui ne nessecitent pas d'installation "optionnelle" ;meme si l'on doit en maitriser une certaine syntaxe ( car chaque cas est particulier) car en gros ,quant on y songe , on passe son temps a chercher(extraire) pour exploiter (ou pas)

cordialement

Un grand merci pour ces explications, une épingle du pied vient de m'être retiré !

yapluka à apprendre le langage des expressions régulières, et c'est pas de la tarte !! mais en s'y prenant avec beaucoup de minutie et de patience on y arrive !

Rechercher des sujets similaires à "extraire information critere"