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

Extraction d'un chiffre

  • Initiateur de la discussion Initiateur de la discussion Bendebs
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Bendebs

Guest
Bonjour à tous !

Je suis a la recherche depuis plusieurs jours d'une solution pour mon problème, et même malgré de nombreuses recherches sur internet, je n'ai pas pu trouver de solution (j'ai pourtant l'impression que mon problème est courant ...).

J'ai dans un document, une colonne cellule qui se compose toujours de cette manière :
[Pkg. Profit Price=>50.00 Consumption=>0.00]
Avec un prix qui peut être différent de 50 (et supérieur à 100 également) et une consommation qui peut être différente de 0.

Je souhaites extraire de cette cellule le premier chiffre (ici 50).
J'ai l'impression que l'utilisation de STXT ne permet pas de le réaliser, et je ne suis pas assez calé en macro pour trouver une solution adaptée.

J'attends vos retours avec impatience !
 
Bonjour le fil, le forum

Utilises Données/Convertir Séparateur :Autre >

Ou alors si tu veux une formule, essaies celle-ci
=SUBSTITUE(STXT(A1;CHERCHE(">";A1)+1;5);".";",")*1

EDITION: Bonjour Victor21
 
Dernière édition:
Re

Elle fonctionne avec un SUBSTITUE de plus 😉
=1*SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;"[Pkg. Profit Price=>";"");" Consumption=>0.00]";"");".";",")

PS: Me suis permis (sans te demander) ce petit addendum dans ta formule, Victor21 😉
 
Re,

Deux raisons possibles :
- Le séparateur décimal n'est point le point (ou pas le pas, ou point le pas ou ...)
- Consumption => n'est pas toujours égal à 0.00 (ce que j'avais zappé 🙁

Merci, JM tu as bien fait, mais ça ne gère pas la valeur de consumption. Va falloir sortir un joker 🙂
 
Re

Une autre formule pour le fun et pour des nombres "ronds" 😉
=STXT(A1;MIN(SI(ESTNUM(CHERCHE({0;1;2;3;4;5;6;7;8;9};A1));CHERCHE({0;1;2;3;4;5;6;7;8;9};A1);""));3)*1
Et pour les nombres "pas ronds"
=SUBSTITUE(STXT(A1;MIN(SI(ESTNUM(CHERCHE({0;1;2;3;4;5;6;7;8;9};A1));CHERCHE({0;1;2;3;4;5;6;7;8;9};A1);""));6);".";",")*1

PS: Ces deux formules sont sujettes à caution si elles rencontres des nombres qui ne leur plaisent pas 😉
 
Bonsoir Bendebs, JM, Patrick,

Fichier joint avec cette fonction VBA pour extraire les nombres d'un texte :
Code:
Function ExtraireNombre(t$, ordre As Byte)
Dim i%, x$, s, n As Byte
t = " " & Replace(t, ",", ".")
For i = 2 To Len(t)
    x = Mid(t, i, 1)
    If Not IsNumeric(x) And x <> "." And x <> " " Or x = "." And Not IsNumeric(Mid(t, i - 1, 1)) _
        Then t = Left(t, i - 1) & " " & Mid(t, i + 1)
Next i
t = Application.Trim(t) 'SUPPRESPACE
s = Split(t)
For i = 0 To UBound(s)
    n = n + 1
    If n = ordre Then ExtraireNombre = Val(s(i)): Exit Function
Next
ExtraireNombre = ""
End Function
Bonne nuit.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
954
Réponses
4
Affichages
739
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…