Voici le code, la partie qui me pose un problème se trouve vers la fin (en rouge)
Ma photo est inséré dans excel, redimentionné mais pas compressé
Sub photo_input()
On Error Resume Next
x = ActiveCell.Column
y = ActiveCell.Row
If y >= 1 And x >= 1 Then
choixphoto = Application.GetOpenFilename("Picture (*.jpg), *.jpg" )
pos1 = 1
For i = 1 To 100
posx = pos1 + 1
pos1 = InStr(pos1 + 1, choixphoto, "\" )
If pos1 = 0 Then Exit For
Next i
np = LCase(Mid(choixphoto, posx, 20))
ActiveSheet.Range("AR1" ).Value = np
ActiveCell.Value = Image & ": " & np
ActiveSheet.Pictures.Insert(choixphoto).Select
Selection.ShapeRange.LockAspectRatio = msoTrue
'hauteur de l'image
Selection.ShapeRange.Width = 305
x = Selection.ShapeRange.Height
Selection.ShapeRange.Name = np
'Décalage avec le haut de la cellule
Selection.ShapeRange.IncrementTop
'Décalage avec la gauche de la cellule
Selection.ShapeRange.IncrementLeft
'Sélectionne la colonne de la cellule active
ActiveCell.EntireColumn.Select
'Définit la largeur de la colonne à 12.2
Selection.ColumnWidth = 60
'Sélectionne la ligne
Rows(y & ":" & y).Select
'Définit la hauteur de la ligne à 13
Selection.RowHeight = 235
'remet le curseur dans la colonne A ligne Y
' Range("A" & y).Select
'compression des photos
Selection.ShapeRange.PictureFormat.Brightness = 0.5
Selection.ShapeRange.PictureFormat.Contrast = 0.5
Selection.ShapeRange.PictureFormat.ColorType = msoPictureAutomatic
Selection.ShapeRange.PictureFormat.CropLeft = 0#
Selection.ShapeRange.PictureFormat.CropRight = 0#
Selection.ShapeRange.PictureFormat.CropTop = 0#
Selection.ShapeRange.PictureFormat.CropBottom = 0#
End If
End Sub
Message édité par beberf1 le 22-11-2005 à 10:17:14