Mini-photo dans un commentaire

curiosus43

XLDnaute Nouveau
Bonjour à tous
Dans les commentaires d'une liste de tableaux crées par feu mon père, je voulais incorporer des mini-photos, et j'ai entré la procédure suivante que j'ai trouvée sur ce site:

Sub PhotoCommentaire2()
repertoire = ThisWorkbook.Path & "\" ‘ image même répertoire que le classeur
For Each c In Range("A2", [A65000].End(xlUp))
c.ClearComments
c.AddComment
c.Comment.Text Text:=c.Value ‘nom du fichier sans l’extension
c.Comment.Shape.Fill.UserPicture repertoire & c.Value & ".jpg"
c.Comment.Shape.Height = 90
c.Comment.Shape.Width = 90
c.Comment.Shape.ScaleHeight 1.2, msoFalse, msoScaleFromTopLeft
Next c
End Sub

ceci fonctionne, mais comme les tableaux sont numérotés et qu'il y a des commentaires dans leur libellé, je voudrais pouvoir nommer ceux-ci avec des chiffres au lieu des lettres. Je voudrais aussi que ces mini-photos s'adaptent si possible en proportion au format original car il y a beaucoup de formats différents (portraits, paysages et autres parfois très disparates).

(J'ai posté ce message (par erreur je crois!) ailleurs dans ce site!!??!!)

Merci d'avance
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Mini-photo dans un commentaire

Bonjour,

Les images et shapes

Code:
Sub CommentImages()
  repertoire = ThisWorkbook.Path & "\"
  For Each c In Range("A2", [A65000].End(xlUp))
    c.ClearComments
    c.AddComment
    c.Comment.Text Text:=CStr(c)
    fichier = CStr(c.Value) & ".jpg"
    If Dir(repertoire & fichier) <> "" Then
       c.Comment.Shape.Fill.UserPicture repertoire & fichier
       taille = TaillePixelsImage(repertoire, fichier)
       c.Comment.Shape.Height = Val(Split(taille, "x")(1))
       c.Comment.Shape.Width = Val(Split(taille, "x")(0))
       c.Comment.Shape.ScaleHeight 0.5, msoFalse, msoScaleFromTopLeft
       c.Comment.Shape.ScaleWidth 0.5, msoFalse, msoScaleFromTopLeft
    End If
  Next
End Sub

Function TaillePixelsImage(repertoire, fichier)
  Set myShell = CreateObject("Shell.Application")
  Set myFolder = myShell.Namespace(repertoire)
  Set myFile = myFolder.Items.Item(fichier)
  TaillePixelsImage = myFolder.GetDetailsOf(myFile, 26)
End Function

JB
 

curiosus43

XLDnaute Nouveau
Re : Mini-photo dans un commentaire

Merci beaucoup JB, c'est bien de vous que j'avais pris cette procédure, et je viens aussi de charger la page que vous m'avez indiqué.
J'ai fait un essai avec une dizaine de lignes... c'est parfait.
Bonne journée
Sylvano
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 611
Messages
2 090 226
Membres
104 453
dernier inscrit
benjiii88