Une autre façon de l'écrire pour la première partie du code :
Sub TestLRD()
Dim Taille_Img, X, Y, Temp, LeRatio, Url As String, I, myDocument
Dim MonImage1
Url = "C:\LOUREED\Pictures\Photos\1.jpg" ' ici mettre votre chemin d'accès aux images
Taille_Img = DimensionsImage(Url)
' si l'image ne représente rien
If Taille_Img = "" Then Exit Sub
' on découpe les dimensions de l'image
' en partant du premier caractère on recherche "espace x espace" ce qui va nous donner l'emplacement du premier espace dans la chaine taille
Temp = InStr(1, Taille_Img, " x ")
' la taille de l'image en X est égale à la deuxième valeur de la chaine Taille_Img
' donc on extrait à partir de Temp + 3 (l'espace + le x + l'espace) et on retire 1 afin de ne pas avoir une ligne grise à droite et
' en bas sur la feuille résultat
X = Val(Mid(Taille_Img, Temp + 3, Len(Taille_Img))) - 1
' on fait pareille pour le Y
Y = Val(Left(Taille_Img, Temp - 1)) - 1
For I = 1 To 3
Set MonImage1 = ActiveSheet.Shapes.AddPicture( _
"C:\Users\loure.PC-LOUREED\Pictures\Photos Téléphone\Pictures\1.jpg", _
False, True, 100, 100, X / 10, Y / 10)
With MonImage1
With .Shadow
.Type = msoShadow21
.Visible = msoTrue
.Style = msoShadowStyleOuterShadow
.Blur = 4
.offsetX = 5
.offsetY = 5
.RotateWithShape = msoFalse
.ForeColor.RGB = RGB(0, 0, 0)
.Transparency = 0
.Size = 100
End With
.Name = "_LRD" & I
.Left = 100 * I
.Top = 200
End With
Next I
End Sub
Toujours une taille en fonction de X et Y.
@ bientôt
LouReeD