Andres a une image dans le presse-papiers. Il souhaiterait, pour la cellule sélectionnée, placer l’image dans un commentaire. Si la cellule n’a pas de commentaire, il faudrait en créer un. S’il y a déjà un commentaire, l’image devra y être ajoutée. Andres sait que cela prendrait une macro, mais il ne sait pas comment travailler avec des commentaires dans une macro pour faire ce dont il a besoin.

Microsoft, dans la dernière version d’Office 365, fait désormais référence à comments par notes. Pour les besoins de cette astuce, cependant, je continuerai à y faire référence par le nom traditionnel comments.

Ce qu’Andres veut faire est loin d’être aussi simple qu’on pourrait le souhaiter. Le premier problème est qu’il ne semble y avoir aucun moyen dans VBA d’utiliser le Presse-papiers comme source d’une image destinée à un commentaire. Il est possible de contourner ce problème en changeant la source pour être une image dans un fichier – en d’autres termes, pour que la macro permette à l’utilisateur de sélectionner un fichier image qui est ensuite placé dans le commentaire.

Sub AddCommentPicture()

Dim PicChoice As Variant

If ActiveCell.Comment Is Nothing Then         ActiveCell.AddComment     End If     PicChoice = Application.GetOpenFilename("JPEGs .jpg,.jpg")



If PicChoice = False Then         MsgBox "No file was selected."

Else         ActiveCell.Comment.Shape.Fill.UserPicture PicChoice         ActiveCell.Comment.Shape.LockAspectRatio = True     End If End Sub

La macro teste la cellule active pour voir si elle contient un commentaire. Sinon, il en ajoutera un. Il affiche ensuite une boîte de dialogue Ouvrir qui n’affiche que les fichiers JPG. (Vous pouvez modifier le paramètre de la fonction GetOpenFilename pour indiquer quels types de fichiers doivent être affichés.) Le fichier que vous sélectionnez est ensuite affecté au commentaire.

Notez que le code ne fait rien pour redimensionner l’image. Vous pouvez, si vous le souhaitez, ajouter le code nécessaire pour effectuer le redimensionnement. Vous voudrez ajouter ce code directement après la ligne qui verrouille le rapport hauteur / largeur de l’image, vers la fin de la macro.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (5489) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.