Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Formule extraire

jebibo

XLDnaute Occasionnel
Bonjour Forum
Je cherche la formule pour extraire le prix de la colonne B, Cette colonne est issue d'une extraction sur le Web et le prix peux être variable dans la cellule.
Je sollicite votre aide svp, j'ai joint un fichier
Merci pour votre aide.
Au plaisir
 

Pièces jointes

  • EXTRAIRE_PRIX.xlsx
    12.6 KB · Affichages: 9

chris

XLDnaute Barbatruc
Bonjour
VB:
=SIERREUR(SUBSTITUE(SUBSTITUE(SUBSTITUE(GAUCHE(B2;MAX(SI(STXT(B2;LIGNE(INDIRECT("1:"&NBCAR(B2)));1)=CAR(9);LIGNE(INDIRECT("1:"&NBCAR(B2)))))-1);CAR(10);"");CAR(9);"");"$";"")*1;"")

Mais on peut le faire avec PowerQuery qui peut sans doute accéder à la page web
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour jebibo, chris,

Autre formule en A2 :
Code:
=SIERREUR(--GAUCHE(SUBSTITUE(EPURAGE(B2);"$";",00");TROUVE(",";SUBSTITUE(EPURAGE(B2);"$";",00"))+2);""&B2)
A+
 

Pièces jointes

  • EXTRAIRE_PRIX(1).xlsx
    15.3 KB · Affichages: 2

job75

XLDnaute Barbatruc
Autre solution avec cette fonction VBA très simple :
VB:
Function Extract(t$)
Dim i%, x$
For i = 1 To Len(t)
    x = Mid(t, i, 1)
    If IsNumeric(x) Or x = "," Then Extract = Extract & x
Next
If Extract = "" Then Extract = t Else Extract = CDbl(Extract)
End Function
Le code doit être placé impérativement dans un module standard.

Formule en A2 =Extract(B2)
 

Pièces jointes

  • EXTRAIRE_PRIX VBA(1).xlsm
    23.3 KB · Affichages: 0

CHRIS1945

XLDnaute Occasionnel
Bonjour,
Encore une autre...
=SIERREUR(CNUM(SUBSTITUE(GAUCHE(EPURAGE(B3);NBCAR(EPURAGE(B3))-NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(EPURAGE(B3);9;"");8;"");7;"");6;"");5;"");4;"");3;"");2;"");1;"");1;"");0;"");",";"")));",";"."));"")
A toi de choisir
Bonne continuation
Chris
 

Pièces jointes

  • EXTRAIRE_PRIX.xlsx
    16.7 KB · Affichages: 0

chris

XLDnaute Barbatruc
Bonjour à tous

Pour info la formule POwerQuery, qui va sûrement inspirer les nouvelles fonctions texte de 365, est
VB:
=Number.From(Text.Select([prix],{"0".."9",","}))
 

jebibo

XLDnaute Occasionnel
Bon matin Chris,Job75 et Chris1945

Les formule que vous m'avez fait parvenir fonctionne très bien, le code VBA est parfait.
Merci pour votre aide et votre temps vraiment apprécier.
Passez une belle journée à vous tous.
Au plaisir
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…