Re : je reviens à la charge !
ouin !!
J'y est cru pourtant !
En fait c'est presque cela !
Mais dans mon programme la photo insérée se place au milieu d'une cellule fusionnée (avec donc Application.Dialogs(xlDialogInsertPicture).Show)
voici le code en entier
Dim Chemin As String
Dim Emplacement As Range
Dim image As Object
Dim ShapeObj As Object
Dim dest As Range 'destination
Dim PV As Double 'Position Verticale
Dim PH As Double 'Position Horizontale
Dim L As Double 'Largeur
Dim H As Double 'Hauteur
For Each Shp In ActiveSheet.Shapes
Shp.Delete
Next
Range("A10").Activate
ChDrive "Q"
ChDir "\PHOTOS"
Chemin = CurDir
Application.Dialogs(xlDialogInsertPicture).Show
'définit la variable dest
If Range("A10").Value = "" Then
Set dest = Range("A10:B10") 'A1 si A1 est vide
Else 'sinon
Set dest = Range("A10:B10")
'Set dest = Range("A65536").End(xlUp).Offset(1, 0) 'La première ligne vide de la colonne A
End If
dest.Value = " " 'met un espace la la cellule Dest
'définition des variables
PV = dest.Top 'haut de la cellule dest
PH = dest.Left 'gauche de la cellule dest
H = dest.Height 'hauteur de la cellule dest
L = dest.Width 'largeur de la cellule dest
'placement et mise à l'échelle de l'image
On Error GoTo Fin 'gestion de l'erreur via la balise 'fin' si aucune image n'est sélectionnée
With Selection
.ShapeRange.LockAspectRatio = msoTrue 'conserve le rapport Horizopntal/Vertical de l'image
.ShapeRange.Width = L 'largeur de l'image
If .ShapeRange.Height > H Then .ShapeRange.Height = H 'hauteur de l'image
.ShapeRange.Top = PV + (H - .ShapeRange.Height) / 2 'Position centrée Verticale de l'image
.ShapeRange.Left = PH + (L - .ShapeRange.Width) / 2 'Position centrée Horizontale de l'image
End With
dest.Offset(0, 1).Select 'désélectionne l'image
UserForm1.Hide
ActiveWindow.SelectedSheets.PrintPreview
UserForm1.Show
Frame3.SetFocus
TextBox6.SetFocus
Exit Sub 'sort de la procédure
Fin: 'balise
dest.Value = "" 'vide la cellule dest
'MsgBox "L'image doit ête sélectionnée.' 'message"
End Sub
Si je mets ton code, la photo vient se placer en A10 mais n'est pas "centrée" dans la cellule fusionnée A10:B10
Ya t'il une astuce ?