Bonjour à tous,
Je dispose d'une macro qui permet d'insérer des images dans Excel. Ces images sont importées dans une plage de cellules définit dans le code.
Lorsque je lance la macro, une fenêtre permettant de choisir l'image à importer s'ouvre.
Une fois l'image sélectionnée, celle-ci est redimensionnée et se place automatiquement dans la plage de cellule définit dans le code.
J'ai plusieurs dossiers à traiter par jour avec des images différentes pour chacun d'entre eux. Je suis donc obligé de faire des captures d'écran à plusieurs reprises et de sauvegarder ces captures dans des dossiers précis pour éviter de les confondre avec d'autres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Sub InsertionImage() 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 = "Cible" Then ActiveSheet.Shapes("Cible").Delete Next ShapeObj If Application.Dialogs(xlDialogInsertPicture).Show Then 'Définit l'emplacement de l'image Set Emplacement = Range("B3:H20") Set Img = ActiveSheet.DrawingObjects(ActiveSheet.Shapes.Count) With Img.ShapeRange 'Nommer l'image insérée (Pour la supprimer plus facilement ensuite) .Name = "Cible" .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
Je voudrais donc savoir s'il était possible de créer une macro qui permettrait de faire directement une capture de l'image désirée et qui l'insérerait (tout en la redimensionnant) dans la plage de cellules voulue plutôt que d'ouvrir une fenêtre pour choisir l'image à insérer. Cela m'éviterait d'avoir des dossiers remplis de captures d'écran et me permettrait de gagner en temps.
Je vous remercie d'avance pour votre aide!
Partager