Bonjour à tous,
J'ai fait quelques recherches sur google sur mon problème mais n'ayant trouvé aucune solution à ce dernier, je me permets de demander de l'aide ici .
Voila la description de mon problème : j'utilise une macro sur excel 2007 pour insérer une image depuis le web à la première ouverture d'un fichier. Pour une raison qui m'est totalement inconnue, l'image insérée de cette manière est totalement déformée. De plus, lorsque je répète l'opération une fois le fichier ouvert, plus de problème, l'image est insérée avec les bonnes dimensions !
Ma macro, finalement assez simple, est ci-dessous :
J'ai déjà remarqué un comportement similaire sur excel 2007 : si on insère une image près du bord d'une feuille de calcul (en supposant que toutes les autres cellules sont masquées) l'image est déformée automatiquement de sorte à ce que l'image rentre dans la feuille de calcul... Donc, information (peut-être) importante, j'utilise 138 colonnes d'une largeur de 10 pixels chacune de ma feuille de calcul et 112 lignes d'une hauteur de 10 pixels chacune et j'ai masqué toutes les autres cellules.
Donc si vous avez une idée pour résoudre ce problème ou si vous savez ce qui se passe, je vous serais vraiment très reconnaissant de m'aider.
Par avance, grand merci à tous et à toutes ,
Youri
J'ai fait quelques recherches sur google sur mon problème mais n'ayant trouvé aucune solution à ce dernier, je me permets de demander de l'aide ici .
Voila la description de mon problème : j'utilise une macro sur excel 2007 pour insérer une image depuis le web à la première ouverture d'un fichier. Pour une raison qui m'est totalement inconnue, l'image insérée de cette manière est totalement déformée. De plus, lorsque je répète l'opération une fois le fichier ouvert, plus de problème, l'image est insérée avec les bonnes dimensions !
Ma macro, finalement assez simple, est ci-dessous :
Code:
Private Sub Workbook_Open()
If ThisWorkbook.Worksheets(2).Range("A1") = "6FF13203-58D5-BC60-7D59-A9BE16E0E3CE" Then
Application.EnableCancelKey = xlDisabled
Application.EnableEvents = False
ThisWorkbook.Worksheets(1).Unprotect
Dim Shp As Shape, Shp2 As Shape
Dim Fichier As String
Dim myGUID As String
Dim gauche As Single, gauche2 As Single
Dim haut As Single, haut2 As Single
myGUID = GetGUID
Fichier = "https://chart.googleapis.com/chart?cht=qr&chs=400x400&chl=test " & myGUID
gauche = 4470 / 10
haut = 7558 / 10
gauche2 = gauche * 2
haut2 = haut
Set Shp = ThisWorkbook.Worksheets(1).Shapes.AddPicture(Fichier, msoFalse, msoCTrue, gauche, haut, 71, 71)
Set Shp2 = ThisWorkbook.Worksheets(1).Shapes.AddPicture(Fichier, msoFalse, msoCTrue, gauche2, haut2, 71, 71)
With Shp.PictureFormat
.CropBottom = 38
.CropLeft = 38
.CropRight = 38
.CropTop = 38
End With
With Shp2.PictureFormat
.CropBottom = 38
.CropLeft = 38
.CropRight = 38
.CropTop = 38
End With
ThisWorkbook.Worksheets(1).Range("P14").Value = Date
ThisWorkbook.Worksheets(1).Range("CG14").Value = Date
ThisWorkbook.Worksheets(1).Range("B111").Value = myGUID
ThisWorkbook.Worksheets(1).Range("BS111").Value = myGUID
ThisWorkbook.Worksheets(2).Range("A1").Delete
ThisWorkbook.Worksheets(1).Protect
Application.EnableCancelKey = xlDisabled
Application.EnableEvents = True
End If
End Sub
J'ai déjà remarqué un comportement similaire sur excel 2007 : si on insère une image près du bord d'une feuille de calcul (en supposant que toutes les autres cellules sont masquées) l'image est déformée automatiquement de sorte à ce que l'image rentre dans la feuille de calcul... Donc, information (peut-être) importante, j'utilise 138 colonnes d'une largeur de 10 pixels chacune de ma feuille de calcul et 112 lignes d'une hauteur de 10 pixels chacune et j'ai masqué toutes les autres cellules.
Donc si vous avez une idée pour résoudre ce problème ou si vous savez ce qui se passe, je vous serais vraiment très reconnaissant de m'aider.
Par avance, grand merci à tous et à toutes ,
Youri