OVH Cloud OVH Cloud

Comment calculer une formule dans une commentaire Excel 2000

14 réponses
Avatar
JS
Office 2000 Pro Fr (toutes les mises à jour):
Je veux insérer une formule dans une commentaire afin d'y calculer
automatiquement un total d'autres cellules ... comment faire ?

4 réponses

1 2
Avatar
MichDenis
Bonjour Daniel,

C'est vrai... mais il me semble avoir rectifié le tir en utilisant ceci :

Je suis particulièrement distrait cet PM ! ;-))

Est-ce mieux ? Dois-je faire appel à Michel ? ;-)

'------------------------------------
Private Sub Worksheet_Calculate()

Dim C As Comment
On Error Resume Next
Set C = Range("C3").Comment
If Err = 0 Then
With C.Shape.OLEFormat.Object
.Text = "Le résultat est : " & Range("C3").Text
.AutoSize = True
End With
Else
Err = 0
End If

End Sub
'------------------------------------


Salutations!


"Daniel.M" a écrit dans le message de news:
Bonjour Denis,

Ben je ne vois une grande différence entre la proposition de Daniel,
qui propose de faire référence à une cellule qui
contient une formule et ce que je propose.

Que ce soit un textbox ou un commentaire, aucun des 2 ne peuvent
évaluer le résultat d'une formule. Un textbox est un textbox !


Soit
C3Ô+E5

Si tu changes D4, la TextBox affichera le nouveau montant alors que le
commentaire restera le même. Autrement dit, l'événement _Change ne s'active pas
parce que tu recalcules une formule mais seulement si tu édites le contenu de
C3.

Ce que AnonymousA disait (je crois) :
La TextBox avec à est sensible aux relations de dépendances de C3 (mais
elle a d'autres défauts) alors que le commentaire ne l'est pas.

Salutations,

Daniel M.

Avatar
Daniel.M
Bonjour Denis,

Ben je ne vois une grande différence entre la proposition de Daniel,
qui propose de faire référence à une cellule qui
contient une formule et ce que je propose.

Que ce soit un textbox ou un commentaire, aucun des 2 ne peuvent
évaluer le résultat d'une formule. Un textbox est un textbox !


Soit
C3Ô+E5

Si tu changes D4, la TextBox affichera le nouveau montant alors que le
commentaire restera le même. Autrement dit, l'événement _Change ne s'active pas
parce que tu recalcules une formule mais seulement si tu édites le contenu de
C3.

Ce que AnonymousA disait (je crois) :
La TextBox avec à est sensible aux relations de dépendances de C3 (mais
elle a d'autres défauts) alors que le commentaire ne l'est pas.

Salutations,

Daniel M.

Avatar
anonymousA
bon,

je vais essayer d'être plus clair. Bien sur que je sais qu'on ne peut
calculer une formule dans un commentaire. Je crois même avoir été le 1er
à l'écrire ce soir.
La question n'est pas là. Prenons un exemple. Imaginons qu'en cellule
A1, le commentaire doive renvoyer D4+E4 (il n'est pas nécessaire qu'il y
ait une cellule de calcul qui contienne cette formule) . Dans la cellule
A1 (en tant que range), il n'y a pas cette formule, il y a autre chose
comme formule que D4+E4 . On va supposer que dans le commentaire est
écrit en texte E4 + D4 pour permettre de savoir quelles sont les
cellules en jeu et rafraichir le commentaire.

Par conséquent, ce n'est pas en regardant la valeur de A1 que l'on va
déterminer le commentaire (d'ailleurs quel interet de mettre la valeur
de A1 dans le commentaire alors qu'on l'a déjà dans la cellule A1).

On va donc bien être obligé (suite à l'évenement change ou sans doute tu
as raison plutot calculate) devoir parcourir l'ensemble des commentaires
pour les remettre à jour (grace à l'identification des cellules dans
le commentaire) sauf si on a précisément identifié quelles sont les
celllules qui ont changé et qu'on fait une comparaison avec une table où
l'on va déterminer quels sont les commentaires à changer en fonction de
ces N° de cellule .

Bref, un joli petit travail bien pénible pour peut-être bien peu de gain.

L'avantage d'un textbox en l'occurence, c'est qu'il peut faire un calcul
automatique et donc si on change E4 ou D4, il se mettra à jour tout seul
quand bien même il serait positionné sur une cellule A1 qui ne contient
pas la formule D4+E4. ceci dit, il a d'autres désavantages.

A+



Ben je ne vois une grande différence entre la proposition de Daniel, qui propose de faire référence à une cellule qui
contient une formule et ce que je propose.

Que ce soit un textbox ou un commentaire, aucun des 2 ne peuvent évaluer le résultat d'une formule. Un textbox est un
textbox !

Évidemment la formule que tu propose = D4+E5 doit inscrite dans une cellule. et c'est seulement lors du recalcule
celle-ci , qu'un commentaire déjà connu d'une cellule particulière peut être mis à jour. D'ailleurs il est même possible
d'inclure le contenu de ton choix dans ton commentaire, y compris un exemplaire de la formule de la cellule souche.

Bon ! je ne vois pas pourquoi faudrait que tu boucles sur tous les commentaires !

Salutations!



"anonymousA" a écrit dans le message de news: 420bc7b9$0$2173$
ouais, j'ai vu ta réponse mais c'était du code et pas des explications
de texte comme une incompatibilité entre UNICODE et ANSI lors du transfert.
Donc c'est pour ca que je t'interrogais.

Par ailleurs, pour ta proposition à notre correspondant, tu as
effectivement supposé que la formule était en C3 mais si en C3 dans le
commentaire tu as une formule (enfin un succédanné de formule) qui n'a
pas de rapport avec C3 (mettons D4+E5), comment fais-tu autrement que
parcourir la collection des commentaires pour les mettre toutes à jour
puisque tu ne sais à priori pas dans laquelle il te faut agir ?

A+


Bonjour anonymousA,

Pour ce qui est de la Louve... je lui ai trouvé une réponse ... et cela fonctionne très bien ! Il faudrait peut être
qu'elle énonce la façon dont elle a prononcé. Avec les champs "Texte" et "Mémo" en Access, cette dernière application
utilise "UNICODE" . Excel travaille avec ANSI. Est-ce possible qu'excel n'arrive pas à percevoir et reconnaître un
caractère particulier lors du transfert ... je ne sais pas ...


"parcourir la collection"

Pourquoi ? J'ai simplement supposé que dans la cellule C3, il y avait une formule et lors de sa mise à jour, le
commentaire dans la cellule C3 se mettrais à jour. Sauf que l'événement de la feuille est celui-ci.

'-------------------------------------
Private Sub Worksheet_Calculate()

Dim C As Comment
On Error Resume Next
Set C = Range("C3").Comment
If Err = 0 Then
With C.Shape.OLEFormat.Object
.Text = "Le résultat est : " & Range("C3").Text
.AutoSize = True
End With
Else
Err = 0
End If

End Sub
'-------------------------------------


Salutations!



"anonymousA" a écrit dans le message de news: 420bc0f6$0$2173$
bonjour,


ouais , mais si dans un commentaire ( lequel mystère , il va falloir
parcourir la collection et la bonjour l'angoisse s'il y en a beaucoup et
faire uen reconnaissance de texte sur C3 ) il y a la nécéssité de mettre
à jour une formule qui dépend de la valeur de C3 qui vient de changer?

Ah, au fait as-tu résolu le mystère de laLouve en dehors de ton post de
hier ?

A+



Bonjour JS,

Dans le module feuille où l'action se déroule, copie ceci :

J'ai supposé que ta formule était en C3 de la feuille.
à chaque fois que la feuille se recalculera, le commentaire se mettra à jour.

'--------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Dim C As Comment
If Target.Address = Range("C3").Address Then
On Error Resume Next
Set C = Range("C3").Comment
If Err = 0 Then
With C.Shape.OLEFormat.Object
.Text = "Le résultat est : " & Range("C3").Text
.AutoSize = True
End With
Else
Err = 0
End If
End If

End Sub
'--------------------------


Salutations!



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

Office 2000 Pro Fr (toutes les mises à jour):
Je veux insérer une formule dans une commentaire afin d'y calculer
automatiquement un total d'autres cellules ... comment faire ?













Avatar
Daniel.M
C'est vrai... mais il me semble avoir rectifié le tir en utilisant ceci :
Private Sub Worksheet_Calculate()



En effet. Là il n'y aura pas de problème: ça va recalculer (souvent à part ça!).
:-)

Je suis particulièrement distrait cet PM ! ;-))


Moi aussi : j'avais pas remarqué ta nouvelle version.

Est-ce mieux ? Dois-je faire appel à Michel ? ;-)


Laisse-le tranquille pour le moment : il y en a bien un qui va finir par
l'appeler un de ces quatre (j'ai confiance). :-)

Salutations,

Daniel M.

1 2