Mais je fais le test avec somplement 2+2
J'ai tellement besoint que ca fonctionne
merciMais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
Mais je fais le test avec somplement 2+2
J'ai tellement besoint que ca fonctionne
merci
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" <sysgest@discussions.microsoft.com> a écrit dans le message de news:
E438AC66-8CB2-4748-92C0-6B2EA382FB02@microsoft.com...
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur sysgest@hotmail.com
Merci a tous
Mais je fais le test avec somplement 2+2
J'ai tellement besoint que ca fonctionne
merciMais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur sysgest@hotmail.com
Merci a tous
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" a écrit dans le message de news:
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
OHJWhsWQHHA.2256@TK2MSFTNGP02.phx.gbl...
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" <sysgest@discussions.microsoft.com> a écrit dans le message de news:
E438AC66-8CB2-4748-92C0-6B2EA382FB02@microsoft.com...
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur sysgest@hotmail.com
Merci a tous
Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" a écrit dans le message de news:
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" a écrit dans le message de news:
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" a écrit dans le message de news:Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" a écrit dans le message de news:
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
OxT0gHXQHHA.3440@TK2MSFTNGP03.phx.gbl...
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uaaTR9WQHHA.996@TK2MSFTNGP02.phx.gbl...
Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
OHJWhsWQHHA.2256@TK2MSFTNGP02.phx.gbl...
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" <sysgest@discussions.microsoft.com> a écrit dans le message de news:
E438AC66-8CB2-4748-92C0-6B2EA382FB02@microsoft.com...
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur sysgest@hotmail.com
Merci a tous
| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" a écrit dans le message de news:
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" a écrit dans le message de news:Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" a écrit dans le message de news:
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" a écrit dans le message de news:
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" a écrit dans le message de news:Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" a écrit dans le message de news:
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
OxT0gHXQHHA.3440@TK2MSFTNGP03.phx.gbl...
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uaaTR9WQHHA.996@TK2MSFTNGP02.phx.gbl...
Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
OHJWhsWQHHA.2256@TK2MSFTNGP02.phx.gbl...
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" <sysgest@discussions.microsoft.com> a écrit dans le message de news:
E438AC66-8CB2-4748-92C0-6B2EA382FB02@microsoft.com...
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur sysgest@hotmail.com
Merci a tous
| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" a écrit dans le message de news:
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" a écrit dans le message de news:Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" a écrit dans le message de news:
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
et si tu avais ceci dans une cellule : -25*2-58*-3
quel devrait être le résultat ?
"garnote" a écrit dans le message de news:
Viens de constater que pour évaluer des expressions
comme sin(3,1416) ou ln(2,78), il faut remplacer
les virgules par des points.
Et je conserve ma petite modif.
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
ou bien celle-ci qui permet d'entrer des nombres
décimaux avec des points ou des virgules :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(Replace(T, "-", "+0-"), ",", "."))
End Function
Serge
"MichDenis" a écrit dans le message de news:
uc$| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" a écrit dans le message de news:
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" a écrit dans le message de news:Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" a écrit dans le message de news:
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
et si tu avais ceci dans une cellule : -25*2-58*-3
quel devrait être le résultat ?
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
uz5HHjXQHHA.464@TK2MSFTNGP02.phx.gbl...
Viens de constater que pour évaluer des expressions
comme sin(3,1416) ou ln(2,78), il faut remplacer
les virgules par des points.
Et je conserve ma petite modif.
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
ou bien celle-ci qui permet d'entrer des nombres
décimaux avec des points ou des virgules :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(Replace(T, "-", "+0-"), ",", "."))
End Function
Serge
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uc$26XXQHHA.996@TK2MSFTNGP02.phx.gbl...
| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
OxT0gHXQHHA.3440@TK2MSFTNGP03.phx.gbl...
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uaaTR9WQHHA.996@TK2MSFTNGP02.phx.gbl...
Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
OHJWhsWQHHA.2256@TK2MSFTNGP02.phx.gbl...
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" <sysgest@discussions.microsoft.com> a écrit dans le message de news:
E438AC66-8CB2-4748-92C0-6B2EA382FB02@microsoft.com...
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur sysgest@hotmail.com
Merci a tous
et si tu avais ceci dans une cellule : -25*2-58*-3
quel devrait être le résultat ?
"garnote" a écrit dans le message de news:
Viens de constater que pour évaluer des expressions
comme sin(3,1416) ou ln(2,78), il faut remplacer
les virgules par des points.
Et je conserve ma petite modif.
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
ou bien celle-ci qui permet d'entrer des nombres
décimaux avec des points ou des virgules :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(Replace(T, "-", "+0-"), ",", "."))
End Function
Serge
"MichDenis" a écrit dans le message de news:
uc$| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" a écrit dans le message de news:
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" a écrit dans le message de news:Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" a écrit dans le message de news:
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
et si tu avais ceci dans une cellule : -25*2-58*-3
quel devrait être le résultat ?
"garnote" a écrit dans le message de news:
Viens de constater que pour évaluer des expressions
comme sin(3,1416) ou ln(2,78), il faut remplacer
les virgules par des points.
Et je conserve ma petite modif.
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
ou bien celle-ci qui permet d'entrer des nombres
décimaux avec des points ou des virgules :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(Replace(T, "-", "+0-"), ",", "."))
End Function
Serge
"MichDenis" a écrit dans le message de news:
uc$| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" a écrit dans le message de news:
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" a écrit dans le message de news:Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" a écrit dans le message de news:
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
et si tu avais ceci dans une cellule : -25*2-58*-3
quel devrait être le résultat ?
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
uz5HHjXQHHA.464@TK2MSFTNGP02.phx.gbl...
Viens de constater que pour évaluer des expressions
comme sin(3,1416) ou ln(2,78), il faut remplacer
les virgules par des points.
Et je conserve ma petite modif.
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
ou bien celle-ci qui permet d'entrer des nombres
décimaux avec des points ou des virgules :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(Replace(T, "-", "+0-"), ",", "."))
End Function
Serge
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uc$26XXQHHA.996@TK2MSFTNGP02.phx.gbl...
| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
OxT0gHXQHHA.3440@TK2MSFTNGP03.phx.gbl...
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uaaTR9WQHHA.996@TK2MSFTNGP02.phx.gbl...
Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
OHJWhsWQHHA.2256@TK2MSFTNGP02.phx.gbl...
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" <sysgest@discussions.microsoft.com> a écrit dans le message de news:
E438AC66-8CB2-4748-92C0-6B2EA382FB02@microsoft.com...
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur sysgest@hotmail.com
Merci a tous
et si tu avais ceci dans une cellule : -25*2-58*-3
quel devrait être le résultat ?
"garnote" a écrit dans le message de news:
Viens de constater que pour évaluer des expressions
comme sin(3,1416) ou ln(2,78), il faut remplacer
les virgules par des points.
Et je conserve ma petite modif.
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
ou bien celle-ci qui permet d'entrer des nombres
décimaux avec des points ou des virgules :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(Replace(T, "-", "+0-"), ",", "."))
End Function
Serge
"MichDenis" a écrit dans le message de news:
uc$| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" a écrit dans le message de news:
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" a écrit dans le message de news:Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" a écrit dans le message de news:
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
Si j'entre dans une cellule ceci:
-25*2-58*(-3)
Eval1 donne 124 la même chose que =-25*2-58*(-3) dans une cellule
Eval2 = -53
Comment tu fais pour arriver à -451 et à 799 et à -628 ?
L'Objet de mon message était le suivant : Si on change par diverses manipulations
l'ordre de priorité des opérateurs... on risque bien de tester longtemps pour
évaluer toutes les alternatives de combinaison possibles.
Et là, j'avoue que j'ai pas la flemme pour ce type de problématique !
"garnote" a écrit dans le message de news:
Salut Denis,
Résultats de mon enquête :
-25*2-58*-3
Logiciel de calcul symbolique Mathcad : -451
Calculatrice Texas T1-30X 11 S : error
Fonction personnalisée eval1 : 799
Fonction personnalisée eval2 : -628
Manuellement : -451
-25*2-58*(-3)
Logiciel de calcul symbolique Mathcad : -451
Calculatrice Texas T1-30X 11 S : -451
Fonction personnalisée eval1 : 799
Fonction personnalisée eval2 : -451
Manuellement : -451
Function Eval1(rg As Range)
Dim T As String
T = rg
Eval1 = Evaluate(T)
End Function
Function Eval2(rg As Range)
Dim T As String
T = rg
Eval2 = Evaluate(Replace(T, "-", "+0-"))
End Function
Donc, pour imiter un logiciel de calcul symbolique
sans mettre de parenthèses, il me faudra trouver autre chose.
Et pour les nombres décimaux, il faut mettre un point plutöt
qu'une virgule. Et si l'utilisateur entre des virgules, suis-je
obligé d'utiliser Replace(T,",",".") ? N'y aurait-il pas un autre truc ?
Serge
"MichDenis" a écrit dans le message de news:et si tu avais ceci dans une cellule : -25*2-58*-3
quel devrait être le résultat ?
"garnote" a écrit dans le message de news:
Viens de constater que pour évaluer des expressions
comme sin(3,1416) ou ln(2,78), il faut remplacer
les virgules par des points.
Et je conserve ma petite modif.
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
ou bien celle-ci qui permet d'entrer des nombres
décimaux avec des points ou des virgules :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(Replace(T, "-", "+0-"), ",", "."))
End Function
Serge
"MichDenis" a écrit dans le message de news:
uc$| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" a écrit dans le message de news:
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" a écrit dans le message de news:Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" a écrit dans le message de news:
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
Si j'entre dans une cellule ceci:
-25*2-58*(-3)
Eval1 donne 124 la même chose que =-25*2-58*(-3) dans une cellule
Eval2 = -53
Comment tu fais pour arriver à -451 et à 799 et à -628 ?
L'Objet de mon message était le suivant : Si on change par diverses manipulations
l'ordre de priorité des opérateurs... on risque bien de tester longtemps pour
évaluer toutes les alternatives de combinaison possibles.
Et là, j'avoue que j'ai pas la flemme pour ce type de problématique !
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
uYE84nlQHHA.4744@TK2MSFTNGP02.phx.gbl...
Salut Denis,
Résultats de mon enquête :
-25*2-58*-3
Logiciel de calcul symbolique Mathcad : -451
Calculatrice Texas T1-30X 11 S : error
Fonction personnalisée eval1 : 799
Fonction personnalisée eval2 : -628
Manuellement : -451
-25*2-58*(-3)
Logiciel de calcul symbolique Mathcad : -451
Calculatrice Texas T1-30X 11 S : -451
Fonction personnalisée eval1 : 799
Fonction personnalisée eval2 : -451
Manuellement : -451
Function Eval1(rg As Range)
Dim T As String
T = rg
Eval1 = Evaluate(T)
End Function
Function Eval2(rg As Range)
Dim T As String
T = rg
Eval2 = Evaluate(Replace(T, "-", "+0-"))
End Function
Donc, pour imiter un logiciel de calcul symbolique
sans mettre de parenthèses, il me faudra trouver autre chose.
Et pour les nombres décimaux, il faut mettre un point plutöt
qu'une virgule. Et si l'utilisateur entre des virgules, suis-je
obligé d'utiliser Replace(T,",",".") ? N'y aurait-il pas un autre truc ?
Serge
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
u6ruluYQHHA.4832@TK2MSFTNGP04.phx.gbl...
et si tu avais ceci dans une cellule : -25*2-58*-3
quel devrait être le résultat ?
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
uz5HHjXQHHA.464@TK2MSFTNGP02.phx.gbl...
Viens de constater que pour évaluer des expressions
comme sin(3,1416) ou ln(2,78), il faut remplacer
les virgules par des points.
Et je conserve ma petite modif.
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
ou bien celle-ci qui permet d'entrer des nombres
décimaux avec des points ou des virgules :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(Replace(T, "-", "+0-"), ",", "."))
End Function
Serge
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uc$26XXQHHA.996@TK2MSFTNGP02.phx.gbl...
| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
OxT0gHXQHHA.3440@TK2MSFTNGP03.phx.gbl...
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uaaTR9WQHHA.996@TK2MSFTNGP02.phx.gbl...
Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" <garnote3@ENLEVER.videotron.ca> a écrit dans le message de news:
OHJWhsWQHHA.2256@TK2MSFTNGP02.phx.gbl...
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" <sysgest@discussions.microsoft.com> a écrit dans le message de news:
E438AC66-8CB2-4748-92C0-6B2EA382FB02@microsoft.com...
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur sysgest@hotmail.com
Merci a tous
Si j'entre dans une cellule ceci:
-25*2-58*(-3)
Eval1 donne 124 la même chose que =-25*2-58*(-3) dans une cellule
Eval2 = -53
Comment tu fais pour arriver à -451 et à 799 et à -628 ?
L'Objet de mon message était le suivant : Si on change par diverses manipulations
l'ordre de priorité des opérateurs... on risque bien de tester longtemps pour
évaluer toutes les alternatives de combinaison possibles.
Et là, j'avoue que j'ai pas la flemme pour ce type de problématique !
"garnote" a écrit dans le message de news:
Salut Denis,
Résultats de mon enquête :
-25*2-58*-3
Logiciel de calcul symbolique Mathcad : -451
Calculatrice Texas T1-30X 11 S : error
Fonction personnalisée eval1 : 799
Fonction personnalisée eval2 : -628
Manuellement : -451
-25*2-58*(-3)
Logiciel de calcul symbolique Mathcad : -451
Calculatrice Texas T1-30X 11 S : -451
Fonction personnalisée eval1 : 799
Fonction personnalisée eval2 : -451
Manuellement : -451
Function Eval1(rg As Range)
Dim T As String
T = rg
Eval1 = Evaluate(T)
End Function
Function Eval2(rg As Range)
Dim T As String
T = rg
Eval2 = Evaluate(Replace(T, "-", "+0-"))
End Function
Donc, pour imiter un logiciel de calcul symbolique
sans mettre de parenthèses, il me faudra trouver autre chose.
Et pour les nombres décimaux, il faut mettre un point plutöt
qu'une virgule. Et si l'utilisateur entre des virgules, suis-je
obligé d'utiliser Replace(T,",",".") ? N'y aurait-il pas un autre truc ?
Serge
"MichDenis" a écrit dans le message de news:et si tu avais ceci dans une cellule : -25*2-58*-3
quel devrait être le résultat ?
"garnote" a écrit dans le message de news:
Viens de constater que pour évaluer des expressions
comme sin(3,1416) ou ln(2,78), il faut remplacer
les virgules par des points.
Et je conserve ma petite modif.
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
ou bien celle-ci qui permet d'entrer des nombres
décimaux avec des points ou des virgules :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(Replace(T, "-", "+0-"), ",", "."))
End Function
Serge
"MichDenis" a écrit dans le message de news:
uc$| Si j'entre, par exemple, sin(3,1416)-ln(10)
| que faudrait-il mettre à la place de & "+x*0" ?
Attention, je ne suis pas "Prof" de Math ou en voie de le devenir !
Mais si tu utilises ma petite fonction personnalisée, tu auras le bon résultat !
"garnote" a écrit dans le message de news:
Salut Denis
Oui bien sûr, mais c'est pour éviter de mettre
des parenthèses que j'ai remplacé "-" par "+0-".
Les logiciels comme Maple et les calculatrices
renvoient -4 quand on entre -2^2, renvoient
-16 quand on entre -2^4 ...
Et pour évaluer toute expression en x pouvant contenir
des fonctions d'Excel, par exemple, sin(x)+ln(x^2)-x^2 :
Je nomme une cellule "x" et j'y entre un nombre.
J'entre mon expression dans une cellule formatée "texte"
et j'utilise cette fonction :
Function Eval(rg As Range)
Application.Volatile
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-") & "+x*0")
End Function
Et une question pour toi :
Si j'entre, par exemple, sin(3,1416)-ln(10)
que faudrait-il mettre à la place de & "+x*0" ?
Serge
"MichDenis" a écrit dans le message de news:Si tu écris dans une cellule :
= -(2^2) , tu obtiens -4
Il faut quand même respecter la priorité des opérateurs
dans sa façon d'écrire les données ... et si cette priorité
est respectée, la fonction Eval() renvoie la bonne réponse.
"garnote" a écrit dans le message de news:
Mais attention aux exposants pairs.
Pour Excel -2^2 et 2^2 donnent 4
alors qu'une calculatrice fait la différence.
-2^2 = -4 et 2^2 = 4. Alors si ton expression
à évaluer commence par -nombre1^nombre2 pair,
il faut modifier un tipeu la fonction de Denis pour
obtenir la bonne réponse :
Function Eval(rg As Range)
Dim T As String
T = rg
Eval = Evaluate(Replace(T, "-", "+0-"))
End Function
Serge
"sysgest" a écrit dans le message de news:Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule précédente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur
Merci a tous
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule préc édente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur .com
Merci a tous
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule préc édente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur sysg...@hotmail .com
Merci a tous
Bonjour a tous
Exemple
Je veut en format text dans la cellule A1 "1+5-3*4"
Et dans la cellule B1 le résultat mathématique de la cellule préc édente soit
A1 donc 12
Mon objectif:
Entrer comme sur une calculatrice un calcul (et quil reste affiché ) et que
le résultat s'affiche dans la cellulu suivante.
Aidez moi je suis bloqué la dessus
Vous pouvez me repondre en directe si vous le desirez sur .com
Merci a tous