Private Sub CommandButton1_Click()
Dim Plage As Range, cel As String, w As Worksheet
Application.ScreenUpdating = False
Set Plage = [G23:L34] 'plage à copier
cel = "H7" 'adresse de la cellule du commentaire
Plage.CopyPicture
With Workbooks.Add 'nouveau document (Zoom 100%)
With .Sheets(1).ChartObjects.Add(0, 0, Plage.Width, Plage.Height).Chart
.Paste
.Export ThisWorkbook.Path & "\MonImage.gif", "GIF"
End With
.Sheets(1).[A1].Copy .Sheets(1).[A1] 'vide le presse-papier
.Close False 'supprime le document avec le graphique temporaire
End With
For Each w In Worksheets
With w.Range(cel)
If Not .Comment Is Nothing Then
w.Unprotect
.Comment.Delete
With .AddComment("").Shape
.Width = Plage.Width
.Height = Plage.Height
.Fill.UserPicture ThisWorkbook.Path & "\MonImage.gif"
End With
w.Protect
End If
End With
Next
Kill ThisWorkbook.Path & "\MonImage.gif" 'supprime le fichier gif
End Sub