OVH Cloud OVH Cloud

formule dans commentaire

11 réponses
Avatar
MarcT
Bonjour,
j'avais trouvé sur un fil ce code de michdenis qui permettais d'avoir le
résultat d'une formule dans un commentaire. Après divers bidouillage
(mon niveau est très bas !!!) je n'arrive pas à l'étendre à mon souhait,
à savoir la m^me chose mais avec des formules dans un autre classeur et
ce sur plusieurs commentaires.
merci de votre aide
Marc

10 réponses

1 2
Avatar
anonymousA
bonsoir,

ouais , va commencer à y avoir du souci. On a déjà eu un fil ensemble ( avec
Mich Denis) et on n'est pas parvenu à se comprendre sur la question notamment
de la MAJ des formules dans les commentaires.
Ceci dit, ta demande est parfaitement possible à résoudre sur le principe
bien qu'un peu laborieuse.Je laisse Mich Denis te faire part de ses lumières
sur la question sauf s'il ne répond pas avant demain, auquel cas, je me
permettrais de m'y coller.

A+



Bonjour,
j'avais trouvé sur un fil ce code de michdenis qui permettais d'avoir le
résultat d'une formule dans un commentaire. Après divers bidouillage
(mon niveau est très bas !!!) je n'arrive pas à l'étendre à mon souhait,
à savoir la m^me chose mais avec des formules dans un autre classeur et
ce sur plusieurs commentaires.
merci de votre aide
Marc



Avatar
MichDenis
Bonjour MarcT,

Je suppose que ta liste de personnes est en B2:B21 de la feuil1
La valeur que tu veux mettre dans le commentaire : U56 de la feuil2

Il ne te reste plus qu'à modifier le nom des feuilles.

'----------------------------------
Sub Commentaires()
Dim Rg As Range, Cell As Range
Set Rg = Worksheets("Feuil1").Range("B2:B21")
For Each Cell In Rg
Cell.ClearComments
If Cell <> "" Then
Cell.AddComment _
"Total des heures : " & _
Worksheets("Feuil2").Range("U56")
Cell.Comment.Shape.OLEFormat.Object.AutoSize = True
End If
Next
Set Rg = Nothing:Set Cell= Nothing
End Sub
'--------------------------------------


Salutations!



"MarcT" a écrit dans le message de news: OhyTE3$
Bonjour,
j'avais trouvé sur un fil ce code de michdenis qui permettais d'avoir le
résultat d'une formule dans un commentaire. Après divers bidouillage
(mon niveau est très bas !!!) je n'arrive pas à l'étendre à mon souhait,
à savoir la m^me chose mais avec des formules dans un autre classeur et
ce sur plusieurs commentaires.
merci de votre aide
Marc
Avatar
anonymousA
bonsoir,

Ah ouais, et si jamais U56 dans worksheets("Feuil2") change , comment
est-ce que ce commentaire est mis à jour? et surtout comment qu'on fait
si les formules sont plus nombreuses c.à.d s'il y en a dans de nombreux
commentaires et qu'on ne sait pas ce qui a chnagé ce qui est normal
puisque la MAJ des commentaires ne peut être faite automatiquement ?
Ben à part parcourir la collection des commentaires pour remettre à jour
l'ensemble de ceux-ci puisque dasn le doute comment savoir que l'un
d'entre eux ne possède pas dans une formule la cellule U56
deworksheets("Feuil2") , je ne vois pas, mais certainement il y a une
solution plus élégante , n'est-ce pas ?

A+

Bonjour MarcT,

Je suppose que ta liste de personnes est en B2:B21 de la feuil1
La valeur que tu veux mettre dans le commentaire : U56 de la feuil2

Il ne te reste plus qu'à modifier le nom des feuilles.

'----------------------------------
Sub Commentaires()
Dim Rg As Range, Cell As Range
Set Rg = Worksheets("Feuil1").Range("B2:B21")
For Each Cell In Rg
Cell.ClearComments
If Cell <> "" Then
Cell.AddComment _
"Total des heures : " & _
Worksheets("Feuil2").Range("U56")
Cell.Comment.Shape.OLEFormat.Object.AutoSize = True
End If
Next
Set Rg = Nothing:Set Cell= Nothing
End Sub
'--------------------------------------


Salutations!



"MarcT" a écrit dans le message de news: OhyTE3$
Bonjour,
j'avais trouvé sur un fil ce code de michdenis qui permettais d'avoir le
résultat d'une formule dans un commentaire. Après divers bidouillage
(mon niveau est très bas !!!) je n'arrive pas à l'étendre à mon souhait,
à savoir la m^me chose mais avec des formules dans un autre classeur et
ce sur plusieurs commentaires.
merci de votre aide
Marc




Avatar
MichDenis
Bonjour anonymousA,

Je me contente de répondre à la question... et comme cette dernière est déficiente dans sa formulation... je n'ai aucune
envie de jouer avec la multitude de Si l'usager voulais dire ceci ou cela ... de même que je suppose que la valeur
source en U56 doit être différente pour chaque usager .... Mais comment je suis supposé savoir ce qu'il veut faire et
comment sont disposées ses valeurs....

Originalement, j'avais proposé l'événement Calculate pour les mises à jour ... on pourrait aussi utilisé Change...mais
je ne vais pas faire plus d'efforts que ceux investis par le demandeur dans la précision de sa demande.


Salutations!


"anonymousA" a écrit dans le message de news: 422e04bd$0$1246$
bonsoir,

Ah ouais, et si jamais U56 dans worksheets("Feuil2") change , comment
est-ce que ce commentaire est mis à jour? et surtout comment qu'on fait
si les formules sont plus nombreuses c.à.d s'il y en a dans de nombreux
commentaires et qu'on ne sait pas ce qui a chnagé ce qui est normal
puisque la MAJ des commentaires ne peut être faite automatiquement ?
Ben à part parcourir la collection des commentaires pour remettre à jour
l'ensemble de ceux-ci puisque dasn le doute comment savoir que l'un
d'entre eux ne possède pas dans une formule la cellule U56
deworksheets("Feuil2") , je ne vois pas, mais certainement il y a une
solution plus élégante , n'est-ce pas ?

A+

Bonjour MarcT,

Je suppose que ta liste de personnes est en B2:B21 de la feuil1
La valeur que tu veux mettre dans le commentaire : U56 de la feuil2

Il ne te reste plus qu'à modifier le nom des feuilles.

'----------------------------------
Sub Commentaires()
Dim Rg As Range, Cell As Range
Set Rg = Worksheets("Feuil1").Range("B2:B21")
For Each Cell In Rg
Cell.ClearComments
If Cell <> "" Then
Cell.AddComment _
"Total des heures : " & _
Worksheets("Feuil2").Range("U56")
Cell.Comment.Shape.OLEFormat.Object.AutoSize = True
End If
Next
Set Rg = Nothing:Set Cell= Nothing
End Sub
'--------------------------------------


Salutations!



"MarcT" a écrit dans le message de news: OhyTE3$
Bonjour,
j'avais trouvé sur un fil ce code de michdenis qui permettais d'avoir le
résultat d'une formule dans un commentaire. Après divers bidouillage
(mon niveau est très bas !!!) je n'arrive pas à l'étendre à mon souhait,
à savoir la m^me chose mais avec des formules dans un autre classeur et
ce sur plusieurs commentaires.
merci de votre aide
Marc




Avatar
anonymousA
bonjour, Denis,

c'est dommage de la jouer petit bras. En fait la réponse est simple mais
laborieuse.
A chaque changement de cellule d'une feuille donnée ( evenement change
ou calculate peu importe), il faut remettre à jour les commentaires (
dont le texte est le résultat des formules dont ils dépendent) qu'on
aura au préalable repéré comme étant des résultats de formules.
Le plus simple est donc de disposer sur une feuille cachée du N° du
commentaire ou de l'adresse des cellules qui les abritent et de faire en
sorte que la feuille en question contienne en colonne A p.e l'adresse
de la cellule contenant le commentaire et en colonne B la formule.Ce
faisant au changement d'une cellule antécédent ou de plusieurs, les
formules se mettent à jour.
Il suffit ensuite , consécutivement à l'evenement change ou calculate,
de déclencher la MAJ des commentaires en remettant dans ceux-ci la
nouvelle valeur de la formule dépendante ( si celle-ci a changée mais on
n'en est pas sur, ceci dit dans le doute on le fait quand même pour être
bien certain de l'absolue MAJ des commentaires).

J'espère ce coup-ci avoir été clair

A+

Bonjour anonymousA,

Je me contente de répondre à la question... et comme cette dernière est déficiente dans sa formulation... je n'ai aucune
envie de jouer avec la multitude de Si l'usager voulais dire ceci ou cela ... de même que je suppose que la valeur
source en U56 doit être différente pour chaque usager .... Mais comment je suis supposé savoir ce qu'il veut faire et
comment sont disposées ses valeurs....

Originalement, j'avais proposé l'événement Calculate pour les mises à jour ... on pourrait aussi utilisé Change...mais
je ne vais pas faire plus d'efforts que ceux investis par le demandeur dans la précision de sa demande.


Salutations!


"anonymousA" a écrit dans le message de news: 422e04bd$0$1246$
bonsoir,

Ah ouais, et si jamais U56 dans worksheets("Feuil2") change , comment
est-ce que ce commentaire est mis à jour? et surtout comment qu'on fait
si les formules sont plus nombreuses c.à.d s'il y en a dans de nombreux
commentaires et qu'on ne sait pas ce qui a chnagé ce qui est normal
puisque la MAJ des commentaires ne peut être faite automatiquement ?
Ben à part parcourir la collection des commentaires pour remettre à jour
l'ensemble de ceux-ci puisque dasn le doute comment savoir que l'un
d'entre eux ne possède pas dans une formule la cellule U56
deworksheets("Feuil2") , je ne vois pas, mais certainement il y a une
solution plus élégante , n'est-ce pas ?

A+


Bonjour MarcT,

Je suppose que ta liste de personnes est en B2:B21 de la feuil1
La valeur que tu veux mettre dans le commentaire : U56 de la feuil2

Il ne te reste plus qu'à modifier le nom des feuilles.

'----------------------------------
Sub Commentaires()
Dim Rg As Range, Cell As Range
Set Rg = Worksheets("Feuil1").Range("B2:B21")
For Each Cell In Rg
Cell.ClearComments
If Cell <> "" Then
Cell.AddComment _
"Total des heures : " & _
Worksheets("Feuil2").Range("U56")
Cell.Comment.Shape.OLEFormat.Object.AutoSize = True
End If
Next
Set Rg = Nothing:Set Cell= Nothing
End Sub
'--------------------------------------


Salutations!



"MarcT" a écrit dans le message de news: OhyTE3$
Bonjour,
j'avais trouvé sur un fil ce code de michdenis qui permettais d'avoir le
résultat d'une formule dans un commentaire. Après divers bidouillage
(mon niveau est très bas !!!) je n'arrive pas à l'étendre à mon souhait,
à savoir la m^me chose mais avec des formules dans un autre classeur et
ce sur plusieurs commentaires.
merci de votre aide
Marc









Avatar
MichDenis
Bonjour,

Je ne sais pas pourquoi tu tiens à avoir ces échanges avec moi... je ne suis pas le demandeur !

Si tu as une réponse précise à formuler, tu l'adresses au demandeur de ce fil et par retour du courrier, il t'acheminera
ses commentaires.


Salutations!


"anonymousA" a écrit dans le message de news: 422e16ba$0$1246$
bonjour, Denis,

c'est dommage de la jouer petit bras. En fait la réponse est simple mais
laborieuse.
A chaque changement de cellule d'une feuille donnée ( evenement change
ou calculate peu importe), il faut remettre à jour les commentaires (
dont le texte est le résultat des formules dont ils dépendent) qu'on
aura au préalable repéré comme étant des résultats de formules.
Le plus simple est donc de disposer sur une feuille cachée du N° du
commentaire ou de l'adresse des cellules qui les abritent et de faire en
sorte que la feuille en question contienne en colonne A p.e l'adresse
de la cellule contenant le commentaire et en colonne B la formule.Ce
faisant au changement d'une cellule antécédent ou de plusieurs, les
formules se mettent à jour.
Il suffit ensuite , consécutivement à l'evenement change ou calculate,
de déclencher la MAJ des commentaires en remettant dans ceux-ci la
nouvelle valeur de la formule dépendante ( si celle-ci a changée mais on
n'en est pas sur, ceci dit dans le doute on le fait quand même pour être
bien certain de l'absolue MAJ des commentaires).

J'espère ce coup-ci avoir été clair

A+

Bonjour anonymousA,

Je me contente de répondre à la question... et comme cette dernière est déficiente dans sa formulation... je n'ai
aucune
envie de jouer avec la multitude de Si l'usager voulais dire ceci ou cela ... de même que je suppose que la valeur
source en U56 doit être différente pour chaque usager .... Mais comment je suis supposé savoir ce qu'il veut faire et
comment sont disposées ses valeurs....

Originalement, j'avais proposé l'événement Calculate pour les mises à jour ... on pourrait aussi utilisé Change...mais
je ne vais pas faire plus d'efforts que ceux investis par le demandeur dans la précision de sa demande.


Salutations!


"anonymousA" a écrit dans le message de news: 422e04bd$0$1246$
bonsoir,

Ah ouais, et si jamais U56 dans worksheets("Feuil2") change , comment
est-ce que ce commentaire est mis à jour? et surtout comment qu'on fait
si les formules sont plus nombreuses c.à.d s'il y en a dans de nombreux
commentaires et qu'on ne sait pas ce qui a chnagé ce qui est normal
puisque la MAJ des commentaires ne peut être faite automatiquement ?
Ben à part parcourir la collection des commentaires pour remettre à jour
l'ensemble de ceux-ci puisque dasn le doute comment savoir que l'un
d'entre eux ne possède pas dans une formule la cellule U56
deworksheets("Feuil2") , je ne vois pas, mais certainement il y a une
solution plus élégante , n'est-ce pas ?

A+


Bonjour MarcT,

Je suppose que ta liste de personnes est en B2:B21 de la feuil1
La valeur que tu veux mettre dans le commentaire : U56 de la feuil2

Il ne te reste plus qu'à modifier le nom des feuilles.

'----------------------------------
Sub Commentaires()
Dim Rg As Range, Cell As Range
Set Rg = Worksheets("Feuil1").Range("B2:B21")
For Each Cell In Rg
Cell.ClearComments
If Cell <> "" Then
Cell.AddComment _
"Total des heures : " & _
Worksheets("Feuil2").Range("U56")
Cell.Comment.Shape.OLEFormat.Object.AutoSize = True
End If
Next
Set Rg = Nothing:Set Cell= Nothing
End Sub
'--------------------------------------


Salutations!



"MarcT" a écrit dans le message de news: OhyTE3$
Bonjour,
j'avais trouvé sur un fil ce code de michdenis qui permettais d'avoir le
résultat d'une formule dans un commentaire. Après divers bidouillage
(mon niveau est très bas !!!) je n'arrive pas à l'étendre à mon souhait,
à savoir la m^me chose mais avec des formules dans un autre classeur et
ce sur plusieurs commentaires.
merci de votre aide
Marc









Avatar
anonymousA
je ne tiens à rien en particulier pas plus que tu ne tiens à me répondre
, mais le fais quand même , quand il s'agit de protection de classeur
p.e alors que je n'attendais aucune réponse, ce qui prouve qu'on ne
répond pas toujours qu'au demandeur initial, mais qu'on s'intercale dans
un fil au gré de ses humeurs , de ses intérêts ou de ses connaissances.

Il s'agit juste d'une discussion mais il m'apparait que tu n'es guère
intéressé , donc nous en resterons là !
Echanger, c'est pourtant progresser pour tous , toi ,les contributeurs,
les demandeurs , bref tout ce qui compose la substanfique moelle de ce
forum du moins je le pensais jusqu'ici.

A bon entendeur,...

A+

Bonjour,

Je ne sais pas pourquoi tu tiens à avoir ces échanges avec moi... je ne suis pas le demandeur !

Si tu as une réponse précise à formuler, tu l'adresses au demandeur de ce fil et par retour du courrier, il t'acheminera
ses commentaires.


Salutations!


"anonymousA" a écrit dans le message de news: 422e16ba$0$1246$
bonjour, Denis,

c'est dommage de la jouer petit bras. En fait la réponse est simple mais
laborieuse.
A chaque changement de cellule d'une feuille donnée ( evenement change
ou calculate peu importe), il faut remettre à jour les commentaires (
dont le texte est le résultat des formules dont ils dépendent) qu'on
aura au préalable repéré comme étant des résultats de formules.
Le plus simple est donc de disposer sur une feuille cachée du N° du
commentaire ou de l'adresse des cellules qui les abritent et de faire en
sorte que la feuille en question contienne en colonne A p.e l'adresse
de la cellule contenant le commentaire et en colonne B la formule.Ce
faisant au changement d'une cellule antécédent ou de plusieurs, les
formules se mettent à jour.
Il suffit ensuite , consécutivement à l'evenement change ou calculate,
de déclencher la MAJ des commentaires en remettant dans ceux-ci la
nouvelle valeur de la formule dépendante ( si celle-ci a changée mais on
n'en est pas sur, ceci dit dans le doute on le fait quand même pour être
bien certain de l'absolue MAJ des commentaires).

J'espère ce coup-ci avoir été clair

A+


Bonjour anonymousA,

Je me contente de répondre à la question... et comme cette dernière est déficiente dans sa formulation... je n'ai
aucune
envie de jouer avec la multitude de Si l'usager voulais dire ceci ou cela ... de même que je suppose que la valeur
source en U56 doit être différente pour chaque usager .... Mais comment je suis supposé savoir ce qu'il veut faire et
comment sont disposées ses valeurs....

Originalement, j'avais proposé l'événement Calculate pour les mises à jour ... on pourrait aussi utilisé Change...mais
je ne vais pas faire plus d'efforts que ceux investis par le demandeur dans la précision de sa demande.


Salutations!


"anonymousA" a écrit dans le message de news: 422e04bd$0$1246$
bonsoir,

Ah ouais, et si jamais U56 dans worksheets("Feuil2") change , comment
est-ce que ce commentaire est mis à jour? et surtout comment qu'on fait
si les formules sont plus nombreuses c.à.d s'il y en a dans de nombreux
commentaires et qu'on ne sait pas ce qui a chnagé ce qui est normal
puisque la MAJ des commentaires ne peut être faite automatiquement ?
Ben à part parcourir la collection des commentaires pour remettre à jour
l'ensemble de ceux-ci puisque dasn le doute comment savoir que l'un
d'entre eux ne possède pas dans une formule la cellule U56
deworksheets("Feuil2") , je ne vois pas, mais certainement il y a une
solution plus élégante , n'est-ce pas ?

A+



Bonjour MarcT,

Je suppose que ta liste de personnes est en B2:B21 de la feuil1
La valeur que tu veux mettre dans le commentaire : U56 de la feuil2

Il ne te reste plus qu'à modifier le nom des feuilles.

'----------------------------------
Sub Commentaires()
Dim Rg As Range, Cell As Range
Set Rg = Worksheets("Feuil1").Range("B2:B21")
For Each Cell In Rg
Cell.ClearComments
If Cell <> "" Then
Cell.AddComment _
"Total des heures : " & _
Worksheets("Feuil2").Range("U56")
Cell.Comment.Shape.OLEFormat.Object.AutoSize = True
End If
Next
Set Rg = Nothing:Set Cell= Nothing
End Sub
'--------------------------------------


Salutations!



"MarcT" a écrit dans le message de news: OhyTE3$
Bonjour,
j'avais trouvé sur un fil ce code de michdenis qui permettais d'avoir le
résultat d'une formule dans un commentaire. Après divers bidouillage
(mon niveau est très bas !!!) je n'arrive pas à l'étendre à mon souhait,
à savoir la m^me chose mais avec des formules dans un autre classeur et
ce sur plusieurs commentaires.
merci de votre aide
Marc













Avatar
MarcT
Bonjour, merci pour la réponse et désolé que scette question soulève "
des problèmes"
par contre ça ne répond pas exactement à mon souhait ....
effectivement la liste se trouve B2:B21 par contre chacune des personnes
à un onglet à son nom et je voudrai que chacune est en commentaire ce
que renvoie sa valeure (en heure) sur chacun des onglets en U 56.
ex:
paul onglet "paul" résultat formule en U56
pierre onglet "pierre" résultat formule en U56
j'espère avoir été plus clair
merci encore à tous les contributeurs de ce forum
Marc


je ne tiens à rien en particulier pas plus que tu ne tiens à me répondre
, mais le fais quand même , quand il s'agit de protection de classeur
p.e alors que je n'attendais aucune réponse, ce qui prouve qu'on ne
répond pas toujours qu'au demandeur initial, mais qu'on s'intercale dans
un fil au gré de ses humeurs , de ses intérêts ou de ses connaissances.

Il s'agit juste d'une discussion mais il m'apparait que tu n'es guère
intéressé , donc nous en resterons là !
Echanger, c'est pourtant progresser pour tous , toi ,les contributeurs,
les demandeurs , bref tout ce qui compose la substanfique moelle de ce
forum du moins je le pensais jusqu'ici.

A bon entendeur,...

A+


Bonjour,

Je ne sais pas pourquoi tu tiens à avoir ces échanges avec moi... je
ne suis pas le demandeur !

Si tu as une réponse précise à formuler, tu l'adresses au demandeur de
ce fil et par retour du courrier, il t'acheminera ses commentaires.


Salutations!


"anonymousA" a écrit dans le message de news:
422e16ba$0$1246$
bonjour, Denis,

c'est dommage de la jouer petit bras. En fait la réponse est simple mais
laborieuse.
A chaque changement de cellule d'une feuille donnée ( evenement change
ou calculate peu importe), il faut remettre à jour les commentaires (
dont le texte est le résultat des formules dont ils dépendent) qu'on
aura au préalable repéré comme étant des résultats de formules.
Le plus simple est donc de disposer sur une feuille cachée du N° du
commentaire ou de l'adresse des cellules qui les abritent et de faire en
sorte que la feuille en question contienne en colonne A p.e l'adresse
de la cellule contenant le commentaire et en colonne B la formule.Ce
faisant au changement d'une cellule antécédent ou de plusieurs, les
formules se mettent à jour.
Il suffit ensuite , consécutivement à l'evenement change ou calculate,
de déclencher la MAJ des commentaires en remettant dans ceux-ci la
nouvelle valeur de la formule dépendante ( si celle-ci a changée mais on
n'en est pas sur, ceci dit dans le doute on le fait quand même pour être
bien certain de l'absolue MAJ des commentaires).

J'espère ce coup-ci avoir été clair

A+


Bonjour anonymousA,

Je me contente de répondre à la question... et comme cette dernière
est déficiente dans sa formulation... je n'ai aucune
envie de jouer avec la multitude de Si l'usager voulais dire ceci ou
cela ... de même que je suppose que la valeur
source en U56 doit être différente pour chaque usager .... Mais
comment je suis supposé savoir ce qu'il veut faire et
comment sont disposées ses valeurs....

Originalement, j'avais proposé l'événement Calculate pour les mises à
jour ... on pourrait aussi utilisé Change...mais
je ne vais pas faire plus d'efforts que ceux investis par le
demandeur dans la précision de sa demande.


Salutations!


"anonymousA" a écrit dans le message de news:
422e04bd$0$1246$
bonsoir,

Ah ouais, et si jamais U56 dans worksheets("Feuil2") change , comment
est-ce que ce commentaire est mis à jour? et surtout comment qu'on fait
si les formules sont plus nombreuses c.à.d s'il y en a dans de nombreux
commentaires et qu'on ne sait pas ce qui a chnagé ce qui est normal
puisque la MAJ des commentaires ne peut être faite automatiquement ?
Ben à part parcourir la collection des commentaires pour remettre à jour
l'ensemble de ceux-ci puisque dasn le doute comment savoir que l'un
d'entre eux ne possède pas dans une formule la cellule U56
deworksheets("Feuil2") , je ne vois pas, mais certainement il y a une
solution plus élégante , n'est-ce pas ?

A+



Bonjour MarcT,

Je suppose que ta liste de personnes est en B2:B21 de la feuil1
La valeur que tu veux mettre dans le commentaire : U56 de la feuil2

Il ne te reste plus qu'à modifier le nom des feuilles.

'----------------------------------
Sub Commentaires()
Dim Rg As Range, Cell As Range
Set Rg = Worksheets("Feuil1").Range("B2:B21")
For Each Cell In Rg
Cell.ClearComments
If Cell <> "" Then
Cell.AddComment _
"Total des heures : " & _
Worksheets("Feuil2").Range("U56")
Cell.Comment.Shape.OLEFormat.Object.AutoSize = True
End If
Next
Set Rg = Nothing:Set Cell= Nothing
End Sub
'--------------------------------------


Salutations!



"MarcT" a écrit dans le message de
news: OhyTE3$
Bonjour,
j'avais trouvé sur un fil ce code de michdenis qui permettais
d'avoir le
résultat d'une formule dans un commentaire. Après divers bidouillage
(mon niveau est très bas !!!) je n'arrive pas à l'étendre à mon
souhait,
à savoir la m^me chose mais avec des formules dans un autre classeur et
ce sur plusieurs commentaires.
merci de votre aide
Marc















Avatar
anonymousA
bonjour,

Il ne s'agit que d'une infime variation du code communiqué par Mich
Denis. Remplacer le nom Feuil2 par la valeur de la cellule correspodnate
exemple

ici on remplace Feuil1 par rng.value ( puisque la cellule en question
est censée correspondre au nom de l'onglet associé). Par ailleurs, mais
je ne l'ai pas fait dasn le code suivant
Cells(1, 1).Comment.Shape.OLEFormat.Object.AutoSize = True peut être
remplacé aussi par
Cells(1, 1).Comment.Shape.TextFrame.AutoSize = True



Sub Commentaires()
Dim Rg As Range, Cell As Range
Set Rg = Worksheets("Feuil1").Range("B2:B21")
For Each Cell In Rg
Cell.ClearComments
If Cell <> "" Then
Cell.AddComment _
"Total des heures : " & _
Worksheets(rng.value).Range("U56")
Cell.Comment.Shape.OLEFormat.Object.AutoSize = True
End If
Next
Set Rg = Nothing:Set Cell= Nothing
End Sub

A+

Bonjour, merci pour la réponse et désolé que scette question soulève "
des problèmes"
par contre ça ne répond pas exactement à mon souhait ....
effectivement la liste se trouve B2:B21 par contre chacune des personnes
à un onglet à son nom et je voudrai que chacune est en commentaire ce
que renvoie sa valeure (en heure) sur chacun des onglets en U 56.
ex:
paul onglet "paul" résultat formule en U56
pierre onglet "pierre" résultat formule en U56
j'espère avoir été plus clair
merci encore à tous les contributeurs de ce forum
Marc



je ne tiens à rien en particulier pas plus que tu ne tiens à me
répondre , mais le fais quand même , quand il s'agit de protection de
classeur p.e alors que je n'attendais aucune réponse, ce qui prouve
qu'on ne répond pas toujours qu'au demandeur initial, mais qu'on
s'intercale dans un fil au gré de ses humeurs , de ses intérêts ou de
ses connaissances.

Il s'agit juste d'une discussion mais il m'apparait que tu n'es guère
intéressé , donc nous en resterons là !
Echanger, c'est pourtant progresser pour tous , toi ,les
contributeurs, les demandeurs , bref tout ce qui compose la
substanfique moelle de ce forum du moins je le pensais jusqu'ici.

A bon entendeur,...

A+


Bonjour,

Je ne sais pas pourquoi tu tiens à avoir ces échanges avec moi... je
ne suis pas le demandeur !

Si tu as une réponse précise à formuler, tu l'adresses au demandeur
de ce fil et par retour du courrier, il t'acheminera ses commentaires.


Salutations!


"anonymousA" a écrit dans le message de news:
422e16ba$0$1246$
bonjour, Denis,

c'est dommage de la jouer petit bras. En fait la réponse est simple mais
laborieuse.
A chaque changement de cellule d'une feuille donnée ( evenement change
ou calculate peu importe), il faut remettre à jour les commentaires (
dont le texte est le résultat des formules dont ils dépendent) qu'on
aura au préalable repéré comme étant des résultats de formules.
Le plus simple est donc de disposer sur une feuille cachée du N° du
commentaire ou de l'adresse des cellules qui les abritent et de faire en
sorte que la feuille en question contienne en colonne A p.e l'adresse
de la cellule contenant le commentaire et en colonne B la formule.Ce
faisant au changement d'une cellule antécédent ou de plusieurs, les
formules se mettent à jour.
Il suffit ensuite , consécutivement à l'evenement change ou calculate,
de déclencher la MAJ des commentaires en remettant dans ceux-ci la
nouvelle valeur de la formule dépendante ( si celle-ci a changée mais on
n'en est pas sur, ceci dit dans le doute on le fait quand même pour être
bien certain de l'absolue MAJ des commentaires).

J'espère ce coup-ci avoir été clair

A+


Bonjour anonymousA,

Je me contente de répondre à la question... et comme cette dernière
est déficiente dans sa formulation... je n'ai aucune
envie de jouer avec la multitude de Si l'usager voulais dire ceci ou
cela ... de même que je suppose que la valeur
source en U56 doit être différente pour chaque usager .... Mais
comment je suis supposé savoir ce qu'il veut faire et
comment sont disposées ses valeurs....

Originalement, j'avais proposé l'événement Calculate pour les mises
à jour ... on pourrait aussi utilisé Change...mais
je ne vais pas faire plus d'efforts que ceux investis par le
demandeur dans la précision de sa demande.


Salutations!


"anonymousA" a écrit dans le message de
news: 422e04bd$0$1246$
bonsoir,

Ah ouais, et si jamais U56 dans worksheets("Feuil2") change , comment
est-ce que ce commentaire est mis à jour? et surtout comment qu'on fait
si les formules sont plus nombreuses c.à.d s'il y en a dans de nombreux
commentaires et qu'on ne sait pas ce qui a chnagé ce qui est normal
puisque la MAJ des commentaires ne peut être faite automatiquement ?
Ben à part parcourir la collection des commentaires pour remettre à
jour
l'ensemble de ceux-ci puisque dasn le doute comment savoir que l'un
d'entre eux ne possède pas dans une formule la cellule U56
deworksheets("Feuil2") , je ne vois pas, mais certainement il y a une
solution plus élégante , n'est-ce pas ?

A+



Bonjour MarcT,

Je suppose que ta liste de personnes est en B2:B21 de la feuil1
La valeur que tu veux mettre dans le commentaire : U56 de la feuil2

Il ne te reste plus qu'à modifier le nom des feuilles.

'----------------------------------
Sub Commentaires()
Dim Rg As Range, Cell As Range
Set Rg = Worksheets("Feuil1").Range("B2:B21")
For Each Cell In Rg
Cell.ClearComments
If Cell <> "" Then
Cell.AddComment _
"Total des heures : " & _
Worksheets("Feuil2").Range("U56")
Cell.Comment.Shape.OLEFormat.Object.AutoSize = True
End If
Next
Set Rg = Nothing:Set Cell= Nothing
End Sub
'--------------------------------------


Salutations!



"MarcT" a écrit dans le message de
news: OhyTE3$
Bonjour,
j'avais trouvé sur un fil ce code de michdenis qui permettais
d'avoir le
résultat d'une formule dans un commentaire. Après divers bidouillage
(mon niveau est très bas !!!) je n'arrive pas à l'étendre à mon
souhait,
à savoir la m^me chose mais avec des formules dans un autre
classeur et
ce sur plusieurs commentaires.
merci de votre aide
Marc

















Avatar
Gaenonius
En fait la réponse est simple mais
laborieuse.


Peut-être moins qu'il n'y parait.
Dans un module ordinaire :

'''''''''''''''''''
Sub MAJCommentaires()
Dim cmt As Comment, cell As Range
For Each cell In ActiveSheet.UsedRange
On Error Resume Next
Set cmt = cell.Comment
If Not cmt Is Nothing Then _
cmt.Shape.TextFrame.Characters.Text = cell.Value
On Error GoTo 0
Next
End Sub
'''''''''''''''''''

Dans le module ThisWorkbook :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MAJCommentaires
End Sub

--
Gaenonius

bonjour, Denis,

c'est dommage de la jouer petit bras. En fait la réponse est simple mais
laborieuse.
A chaque changement de cellule d'une feuille donnée ( evenement change
ou calculate peu importe), il faut remettre à jour les commentaires (
dont le texte est le résultat des formules dont ils dépendent) qu'on
aura au préalable repéré comme étant des résultats de formules.
Le plus simple est donc de disposer sur une feuille cachée du N° du
commentaire ou de l'adresse des cellules qui les abritent et de faire en
sorte que la feuille en question contienne en colonne A p.e l'adresse
de la cellule contenant le commentaire et en colonne B la formule.Ce
faisant au changement d'une cellule antécédent ou de plusieurs, les
formules se mettent à jour.
Il suffit ensuite , consécutivement à l'evenement change ou calculate,
de déclencher la MAJ des commentaires en remettant dans ceux-ci la
nouvelle valeur de la formule dépendante ( si celle-ci a changée mais on
n'en est pas sur, ceci dit dans le doute on le fait quand même pour être
bien certain de l'absolue MAJ des commentaires).

J'espère ce coup-ci avoir été clair

A+


Bonjour anonymousA,

Je me contente de répondre à la question... et comme cette dernière
est déficiente dans sa formulation... je n'ai aucune envie de jouer
avec la multitude de Si l'usager voulais dire ceci ou cela ... de même
que je suppose que la valeur source en U56 doit être différente pour
chaque usager .... Mais comment je suis supposé savoir ce qu'il veut
faire et comment sont disposées ses valeurs....

Originalement, j'avais proposé l'événement Calculate pour les mises à
jour ... on pourrait aussi utilisé Change...mais je ne vais pas faire
plus d'efforts que ceux investis par le demandeur dans la précision de
sa demande.


Salutations!


"anonymousA" a écrit dans le message de news:
422e04bd$0$1246$
bonsoir,

Ah ouais, et si jamais U56 dans worksheets("Feuil2") change , comment
est-ce que ce commentaire est mis à jour? et surtout comment qu'on fait
si les formules sont plus nombreuses c.à.d s'il y en a dans de nombreux
commentaires et qu'on ne sait pas ce qui a chnagé ce qui est normal
puisque la MAJ des commentaires ne peut être faite automatiquement ?
Ben à part parcourir la collection des commentaires pour remettre à jour
l'ensemble de ceux-ci puisque dasn le doute comment savoir que l'un
d'entre eux ne possède pas dans une formule la cellule U56
deworksheets("Feuil2") , je ne vois pas, mais certainement il y a une
solution plus élégante , n'est-ce pas ?

A+


Bonjour MarcT,

Je suppose que ta liste de personnes est en B2:B21 de la feuil1
La valeur que tu veux mettre dans le commentaire : U56 de la feuil2

Il ne te reste plus qu'à modifier le nom des feuilles.

'----------------------------------
Sub Commentaires()
Dim Rg As Range, Cell As Range
Set Rg = Worksheets("Feuil1").Range("B2:B21")
For Each Cell In Rg
Cell.ClearComments
If Cell <> "" Then
Cell.AddComment _
"Total des heures : " & _
Worksheets("Feuil2").Range("U56")
Cell.Comment.Shape.OLEFormat.Object.AutoSize = True
End If
Next
Set Rg = Nothing:Set Cell= Nothing
End Sub
'--------------------------------------


Salutations!



"MarcT" a écrit dans le message de news:
OhyTE3$
Bonjour,
j'avais trouvé sur un fil ce code de michdenis qui permettais d'avoir le
résultat d'une formule dans un commentaire. Après divers bidouillage
(mon niveau est très bas !!!) je n'arrive pas à l'étendre à mon souhait,
à savoir la m^me chose mais avec des formules dans un autre classeur et
ce sur plusieurs commentaires.
merci de votre aide
Marc











1 2