Bonjour le forum,
Je dispose d'une macro qui me permet de sélectionner une image et de la placer (en la redimensionnant) dans une plage de cellules définie sur une feuille Excel.
Code :
- Sub InsertionImage_Page_Garde()
- Dim Emplacement As Range
- Dim Img As Object
- Dim ShapeObj As Shape
- 'Boucle pour supprimer l'ancienne image
- For Each ShapeObj In ActiveSheet.Shapes
- If ShapeObj.Name = "Cible6" Then ActiveSheet.Shapes("Cible6" ).Delete
- Next ShapeObj
- If Application.Dialogs(xlDialogInsertPicture).Show Then
- 'Définit l'emplacement de l'image
- Set Emplacement = Range("B11:H37" )
- Set Img = ActiveSheet.DrawingObjects(ActiveSheet.Shapes.Count)
- With Img.ShapeRange
- 'Nommer l'image insérée (Pour la supprimer plus facilement ensuite)
- .Name = "Cible6"
- .LockAspectRatio = msoFalse
- .Left = Emplacement.Left
- .Top = Emplacement.Top
- .Height = Emplacement.Height
- .Width = Emplacement.Width
- End With
- Else
- MsgBox "Insertion d'image interrompue."
- End If
- End Sub
|
Le seul soucis c'est que je suis obligé de faire une capture d'écran de l'image que je veux insérer, de l'enregistrer dans un dossier puis de lancer la macro pour l'insérer sur Excel.
Je voudrais donc savoir s'il était possible d'améliorer cette macro afin que celle-ci permette de faire directement la capture d'écran et d'insérer l'image dans la zone définit. L'idée serait :
- Lancer la macro
- Sélectionner la partie de l'image voulue grâce à un outil de capture d'écran
- La macro place l'image capturée dans la plage voulue et en la redimensionnant (comme le permet actuellement ma macro).
Je vous remercie d'avance !