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
Un peu plus rapide en utilisant la collection Comments qui évite de boucler sur toutes les cellules.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) MajComments Sh End Sub
Sub MajComments(Sh As Worksheet) Dim Cmt As Comment For Each Cmt In Sh.Comments Cmt.Text Cmt.Parent.Text Next Cmt Set Cmt = Nothing End Sub
Alain CROS
"Gaenonius" a écrit dans le message de news:
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.
Un peu plus rapide en utilisant la collection Comments qui évite de boucler sur toutes les cellules.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MajComments Sh
End Sub
Sub MajComments(Sh As Worksheet)
Dim Cmt As Comment
For Each Cmt In Sh.Comments
Cmt.Text Cmt.Parent.Text
Next Cmt
Set Cmt = Nothing
End Sub
Alain CROS
"Gaenonius" <noname@nowhere> a écrit dans le message de news: esNlFAcJFHA.2716@TK2MSFTNGP15.phx.gbl...
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
Un peu plus rapide en utilisant la collection Comments qui évite de boucler sur toutes les cellules.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) MajComments Sh End Sub
Sub MajComments(Sh As Worksheet) Dim Cmt As Comment For Each Cmt In Sh.Comments Cmt.Text Cmt.Parent.Text Next Cmt Set Cmt = Nothing End Sub
Alain CROS
"Gaenonius" a écrit dans le message de news:
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