OVH Cloud OVH Cloud

fonction pour AFFICHER UNE FORMULE dans une cellule

4 réponses
Avatar
Thierry Fracheboud
J'ai un tableau avec différents calcul et j'ai besoin d'afficher dans une
cellule la formule d'une autre cellule.
Exemple : dans la celule A1 je tape la formule suivante : =12*1000 (A1
affiche alors 12'000)
dans la celule A2 je souhaite que la formule utilisée dans
A1 s'affiche
Je sais que dans outils - option - affichage - on peut cocher l'option
"formule", mais je souhaite afficher la formule que dans la cellule A2 et
non dans toute la feuille ?
Merci pour votre aide.

4 réponses

Avatar
Pierre Fauconnier
Bonsoir Thierry,

Personnellement, j'utilise la fonction personnalisée suivante :

Function FormuleCellule(Cellule As Range)
Application.Volatile
FormuleCellule = Cellule.FormulaLocal
End Function

à intégrer dans un module standard du classeur, ou du classeur perso.xls (
Attention à la transmission d'un classeur utilisant les fonctions d'un
classeur perso.xls)


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)


---
Thierry Fracheboud wrote:
J'ai un tableau avec différents calcul et j'ai besoin d'afficher dans
une cellule la formule d'une autre cellule.
Exemple : dans la celule A1 je tape la formule suivante : *1000 (A1
affiche alors 12'000)
dans la celule A2 je souhaite que la formule utilisée
dans A1 s'affiche
Je sais que dans outils - option - affichage - on peut cocher l'option
"formule", mais je souhaite afficher la formule que dans la cellule
A2 et non dans toute la feuille ?
Merci pour votre aide.


Avatar
gee-dee-
Bonsoir,
une fonction personnalisée ???

Function LireFormule(reference)
If reference.HasArray Then
LireFormule = "{" & reference.FormulaLocal & "}"
'-- en US-----LireFormule = "{" & reference.Formula & "}"
'---en L1C1--LireFormule = "{" & reference.FormulaR1C1Local & "}"
Else
LireFormule = " " & reference.FormulaLocal
'-- en US-----LireFormule = " " & reference.Formula
'---en L1C1--LireFormule = " " & reference.FormulaR1C1Local
End If
End Function
'--------------------------
sinon sans macro ni fonction
formater la cellule de destination au format texte
selectionner la cellule contenant la formule
puis via la barre de formule "copier" la formule
selectionner la cellule de destination
puis toujour via la barre de formule : "coller"
mais si la formule doit etre modifiée il faudra recommencer la maneuvre.
Avatar
Thierry Fracheboud
Hello,
Merci pour tes reponses. Extra la formule pour formater le texte. Pour ma 2e
question, voir plus bas, et comme je ne suis malheureusement pas un pro des
modules, peux-tu m'expliquer le procéder pour créer ce module standard ?
J'ai essayé en passant par Outils - macro - visual basic - insertion -
module, puis j'ai recopié ta fonction, mais comment faire ensuite pour
qu'automatiquement la cellule A2 affiche la formule inscrite dans la cellule
A1 ?
Merci pour ton aide.

"Pierre Fauconnier" a écrit dans le message de
news: OpJ$Q$
Bonsoir Thierry,

Personnellement, j'utilise la fonction personnalisée suivante :

Function FormuleCellule(Cellule As Range)
Application.Volatile
FormuleCellule = Cellule.FormulaLocal
End Function

à intégrer dans un module standard du classeur, ou du classeur perso.xls (
Attention à la transmission d'un classeur utilisant les fonctions d'un
classeur perso.xls)


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)


---
Thierry Fracheboud wrote:
J'ai un tableau avec différents calcul et j'ai besoin d'afficher dans
une cellule la formule d'une autre cellule.
Exemple : dans la celule A1 je tape la formule suivante : *1000 (A1
affiche alors 12'000)
dans la celule A2 je souhaite que la formule utilisée
dans A1 s'affiche
Je sais que dans outils - option - affichage - on peut cocher l'option
"formule", mais je souhaite afficher la formule que dans la cellule
A2 et non dans toute la feuille ?
Merci pour votre aide.






Avatar
Thierry Fracheboud
Public function ShowFormula(rng as Range)
ShowFormula = rng(1).formula
End Sub

Put the above in a general module, not a sheet module.

in A2 put in

=ShowFormula(A1)

changing the formula in A1 would require and edit, so no reason to make the
formula volatile



"Thierry Fracheboud" a écrit dans le message
de news:
J'ai un tableau avec différents calcul et j'ai besoin d'afficher dans une
cellule la formule d'une autre cellule.
Exemple : dans la celule A1 je tape la formule suivante : *1000 (A1
affiche alors 12'000)
dans la celule A2 je souhaite que la formule utilisée dans
A1 s'affiche
Je sais que dans outils - option - affichage - on peut cocher l'option
"formule", mais je souhaite afficher la formule que dans la cellule A2 et
non dans toute la feuille ?
Merci pour votre aide.