Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Afficher le détail du calcul d'une formule

5 réponses
Avatar
StephD
Bonjour =E0 tous,

Je cherche (fonction VBA ou pas) pour une formule d'une cellule =E0
afficher dans une autre cellule le d=E9tail du calcul (la valeur =E0 la
place des r=E9f=E9rences).

Par exemple,
en A1 : 15
en B1 : 20
en C1 : =3DA1+B1
Comment puis-je, svp, obtenir en D1, le d=E9tail c'est-=E0-dire "15+20" en
fonction de la formule en C1, plut=F4t que "=3DA1+B1" ?

Merci d'avance
StefD

5 réponses

Avatar
Jacky
Bonjour,

En d1
¡&"+"&B1
ou complet
¡&"+"&B1&"="&A1+B1

--
Salutations
JJ


"StephD" a écrit dans le message de news:

Bonjour à tous,

Je cherche (fonction VBA ou pas) pour une formule d'une cellule à
afficher dans une autre cellule le détail du calcul (la valeur à la
place des références).

Par exemple,
en A1 : 15
en B1 : 20
en C1 : ¡+B1
Comment puis-je, svp, obtenir en D1, le détail c'est-à-dire "15+20" en
fonction de la formule en C1, plutôt que "¡+B1" ?

Merci d'avance
StefD
Avatar
StephD
Merci JJ.

J'ai créé du coup une fonction à améliorer sans doute (elle ne gè re
pas les plages mais ce n'est pas important dans mon cas).
La voici si cela peut servir.

Bonne journée
StefD

Function DetailCalcul(C As Range)
Dim i%, x$, MaRef$
Application.Volatile
If C.HasFormula = True Then
For i = 1 To Len(C.FormulaLocal)
If IsNumeric(Application.Match(Mid(C.FormulaLocal, i, 1),
Array("(", ")", "+", "-", "*", "/", "=", "^", "%"), 0)) Then
If MaRef <> "" Then
On Error Resume Next
x = x & IIf(Range(MaRef).Value = 0, 0,
Range(MaRef).Value) & Mid(C.FormulaLocal, i, 1)
If Err Then x = x & MaRef & Mid(C.FormulaLocal, i,
1): Err = 0: On Error GoTo 0
MaRef = ""
Else
x = x & Mid(C.FormulaLocal, i, 1)
End If
Else
MaRef = MaRef & Mid(C.FormulaLocal, i, 1)
End If
Next
If MaRef <> "" Then
On Error Resume Next
x = x & IIf(Range(MaRef).Value = 0, 0, Range(MaRef).Value)
& Mid(C.FormulaLocal, i, 1)
If Err Then x = x & MaRef & Mid(C.FormulaLocal, i, 1): Err
= 0: On Error GoTo 0
MaRef = ""
End If
Else
x = C.Value
End If
DetailCalcul = x
End Function
Avatar
Maude Este
Bonsour®

stefdestroy a écrit
Je cherche (fonction VBA ou pas) pour une formule d'une cellule à
afficher dans une autre cellule le détail du calcul (la valeur à la
place des références).



dans le cas de =Somme(A1:B25)
que faudrait-il afficher en D1
????

Sub Details()
If Selection.Count = 1 Then
Application.Dialogs(xlDialogEvaluateFormula).Show
Else
MsgBox "Ne selectionner qu'une seule cellule!", vbInformation
End If
End Sub
Avatar
Maude Este
Bonsour®

stefdestroy a écrit
J'ai créé du coup une fonction à améliorer sans doute (elle ne gère
pas les plages mais ce n'est pas important dans mon cas).
La voici si cela peut servir.



;o)))
astucieux,
limité,
mais intéressant !!!
"le compte est bon " ;o)))
Avatar
michdenis
Bonjour,

| astucieux,limité,

La fonction ne résout pas ceci :
=MOD(A2;5)

Mais elle répond peut-être néanmoins au besoin du demandeur !

MichD
--------------------------------------------