Extraire chiffre à l'intérieur d'une formule

Bonjour,

Je suis nouveau sur le forum et j'espère que quelqu'un pourra m'aider.

Voilà mon problème : je souhaite récupérer le chiffre à l'intérieur d'une formule.

Je fais un exemple pour que ce soit plus parlant

en cellule A1:=125-52

A1 affiche donc 73 (jusque là tout va bien !)

Je souhaiterai que en A2 j'obtienne uniquement 52, autrement dit le chiffre après le signe - dans A1.

Avez-vous des idées ?

Est-ce que via une formule excel cela est possible ou uniquement en VBA ?

Merci d'avance de vos lumières.

Wolf76.

Bonjour,

Par exemple

=DROITE(FORMULETEXTE(A1);NBCAR(FORMULETEXTE(A1))-CHERCHE("-";FORMULETEXTE(A1))+1)

@+

Bonjour

En A2

=STXT(FORMULETEXTE(A1);2;TROUVE("-";FORMULETEXTE(A1))-2)-A1

Bonjour,

En formule Excel, je ne pense pas (sauf à avoir la formule sous forme texte dans la cellule et la traiter en tant que texte).

En VBA on peut opérer avec une fonction personnalisée que tu utiliseras de la même façon qu'une fonction Excel.

Function EXTRACNB(cel As Range)
    Dim fm
    Application.Volatile
    If cel.HasFormula Then
        fm = cel.Formula
        If InStr(1, fm, "-") Then
            fm = Split(fm, "-")
            EXTRACNB = CDbl(fm(UBound(fm)))
            Exit Function
        End If
    End If
    EXTRACNB = ""
End Function

Le code est à placer dans un Module standard.

Utilisation, par exemple en A2 :

=EXTRACNB(A1)

Cordialement.

edit : je suppose que FORMULETEXTE est une fonction apparue après 2010... ? Je ne l'ai pas et donc sur 2007 on ne devrait pas non plus la trouver.

Bonjour MFerrand,

Bien vu

edit : je suppose que FORMULETEXTE est une fonction apparue après 2010... ?

C'est vrai que souvent j'oublie de regarder la version EXCEL

Bonjour

Une solution avec une formule issue des anciennes Macros XL4

Tu sélectionnes B1

Menu "FORMULES" > "Définir un Nom"

Dans Nom:

Tu tapes :Formule

Dans "Fait référence à:"

Tu entres la Formule

=LIRE.CELLULE(6;!A$1)

et tu valides

La Formule en B1:

=STXT(Formule;CHERCHE(CAR(45);Formule;1)+1;99)

Cordialement

8wolf76.xlsm (9.54 Ko)

Bonjour,

Merci à tous les deux mais la fonction formuletexte n'est pas présente sous excel 2007 !

Comment faire ? Une solution ?

Merci d'avance.

Wolf76

Bonjour,

essaie alors cette formule personnalisée

Function LireFormule(cel As Range) As String
LireFormule = cel.FormulaLocal
End Function

ensuite extrait ce dont tu as besoin

11lire-formule.xlsm (12.21 Ko)

Salut Wolf : Tu n'as lu ni ma réponse ni celle tout à fait judicieuse d'Amadeus... !

Bonjour,

La fonction FORMULTEXTE() est apparue avec Excel 2013.

Je profite de cette intervention pour mettre un lien pour télécharger l'ensemble (ou presque) des formules Excel avec leurs explications et des exemples. Bon, c'est en langue anglaise, mais !...

Cdlt.

http://www.rondebruin.nl/efb/efb.htm

Bonjour,

Je n'avais pas eu toutes les réponses avant de répondre, mea culpa !

Merci à tous.

En pratique j'ai pris la solution de Steelson, et j'ai appelé la formule FORMULETEXTE.

Ensuite j'ai aussi pris la solution de M12.

ET voilà vous avez répondu à ma demande.

Merci à tous pour votre temps et savoir

Wolf76

Salut Wolf : Tu n'as lu ni ma réponse ni celle tout à fait judicieuse d'Amadeus... !

je vais à confesse ... moi non plus, je n'avais lu que le dernier "appel"

Merci à tous les deux mais la fonction formuletexte n'est pas présente sous excel 2007 !

Comment faire ? Une solution ?

mais en effet, les solutions étaient déjà données sous différentes formes

Rechercher des sujets similaires à "extraire chiffre interieur formule"