jalmainseb
XLDnaute Nouveau
Bonjour à tous,
J'utilise le code suivant pour insérer une image dans un commentaire :
mypath = ThisWorkbook.Path
myfile = photo.Value
Sheets("Données").Cells(der_lig, 2).AddComment
Sheets("Données").Cells(der_lig, 2).Comment.Shape.ScaleWidth 4, msoFalse, msoScaleFromTopLeft
Sheets("Données").Cells(der_lig, 2).Comment.Shape.ScaleHeight 5.7, msoFalse, msoScaleFromTopLeft
Sheets("Données").Cells(der_lig, 2).Comment.Shape.Fill.UserPicture mypath & "\" & myfile
Ce code fonctionne bien MAIS :
La taille des image étant grosse, je souhaite compresser les images du document à l'aide de la boite de dialogue de compression que je vais chercher avec le code suivant :
Private Sub compresser_Click()
Dim cbc As Office.CommandBarControl
Set cbc = CommandBars.FindControl(ID:=6382)
cbc.Execute
Set cbc = Nothing
End Sub
Mon problème : si j'insère par macro les images, elles ne sont pas reconnues en temps qu'images et donc ne sont pas compressées.
En fait, par macro, la case "Faire pivoter l'effet de remplissage en même temps que la forme" n'est pas cochée.
Si je coche cette case, l'image est bien reconnue en temps que tel et est compressée.
Comment faire pour cocher automatiquement cette case ??? (ou autre solution).
J'ai regardé du côté de la propriété "rotatewithobject", mais je n'arrive pas à m'en servir.
SOS !!!
Merci d'avance
Sébastien
J'utilise le code suivant pour insérer une image dans un commentaire :
mypath = ThisWorkbook.Path
myfile = photo.Value
Sheets("Données").Cells(der_lig, 2).AddComment
Sheets("Données").Cells(der_lig, 2).Comment.Shape.ScaleWidth 4, msoFalse, msoScaleFromTopLeft
Sheets("Données").Cells(der_lig, 2).Comment.Shape.ScaleHeight 5.7, msoFalse, msoScaleFromTopLeft
Sheets("Données").Cells(der_lig, 2).Comment.Shape.Fill.UserPicture mypath & "\" & myfile
Ce code fonctionne bien MAIS :
La taille des image étant grosse, je souhaite compresser les images du document à l'aide de la boite de dialogue de compression que je vais chercher avec le code suivant :
Private Sub compresser_Click()
Dim cbc As Office.CommandBarControl
Set cbc = CommandBars.FindControl(ID:=6382)
cbc.Execute
Set cbc = Nothing
End Sub
Mon problème : si j'insère par macro les images, elles ne sont pas reconnues en temps qu'images et donc ne sont pas compressées.
En fait, par macro, la case "Faire pivoter l'effet de remplissage en même temps que la forme" n'est pas cochée.
Si je coche cette case, l'image est bien reconnue en temps que tel et est compressée.
Comment faire pour cocher automatiquement cette case ??? (ou autre solution).
J'ai regardé du côté de la propriété "rotatewithobject", mais je n'arrive pas à m'en servir.
SOS !!!
Merci d'avance
Sébastien