Sub test()
Dim shp As Shape
Dim initialHeight As Single
Dim initialWidth As Single
Set shp = Feuil1.Shapes.AddPicture("C:\...\MSI Leopard 3413x1919.jpg", False, True, 0, 0, -1, -1)
With shp
initialHeight = .Height
initialWidth = .Width
.PictureFormat.CropLeft = 38.98809 / 100 * initialWidth...
Ah ben ça alors... quelle surprise...bon je confirme le .width et .height de la shape n'est pas bon
pourquoi voudrais tu que je fasse çaAh ben ça alors... quelle surprise...
Du coup t'as pas essayé de diviser le nombre de pixels par 4/3 (*) pour obtenir w ou h ?
(*) 4/3 n'est peut-être pas une valeur universelle. Elle dépend peut-être de la définition de l'affichage et du zoom utilisé pour le Bureau de Windows. Mais tu connais ça mieux que moi.
C'est juste pour faire un test. Pour voir si ça donne la même chose.pourquoi voudrais tu que je fasse ça
ou tu a vu dans le code que je travaille en pixel ou autre
Je ne comprends pas exactement ce que tu veux dire par là, mais si tu exécutes en pas-à-pas ton code initial (celui du fichier de #1) avec la grande image, tu verras que si tu étires la shape aux dimensions originelles de ladite image, tu obtiens alors les bonnes valeurs pour tes w et h.excel a une limite max de taille d'image et il redimensionne automatiquement au maximum possible en gardant l'aspect ratio intègre
ben bien sur que non justement
puisque l'image est reduite
Non mais t'es vraiment sérieux là ?j'ai même pas besoins de faire le calcul en pixel de la shape sur feuille
Effectivement cette phrase n'est pas dur à comprendre, mais elle est visiblement fausse puisqu'on peut étirer l'image de 3413x1919 à ses dimensions réelles (donc 100 %) en tirant sur les poignées. Et ça aussi ça prend une seconde à tester.excel a une limite max de taille d'image et il redimensionne automatiquement au maximum possible en gardant l'aspect ratio intègre
elle est pas dure à comprendre cette phrase non?
ca m'a pris 1 sec pour tester
Image2.Picture = LoadPicture(FicTmp)
OK. Alors c'est parfait.j'ai utilisé la lgne de mromain
en passant par addpicture(chemin,false ,true,true) l’image est insérée a sa taille originale
il fallait simplement savoir que insertpicture dimensionnait l'image a l'insertion c'est tout
mon problème est résolu avec cette seule ligne