Insérer une image dans Excel 2003 depuis Access
Bonjour,
Je suis amenée à inserer 2 images (dont le chemin est enregistré dans la bdd) à deux endroits bien défini d'une feuille de calcul.
En cherchant sur le forum, j'ai trouvé un moyen d'afficher les deux images dans la feuille. Voici le code que j'ai réussi a écrire :
Code:
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 32 33 34 35 36 37 38 39 40
|
Const PathI = "Chemin du dossier où sont stockées les images"
Dim Valeur As String
Dim oApp As Object
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Dim Img1, Img2 As Object
'Ouverture de l'application
Set oApp = CreateObject("Excel.Application")
oApp.Visible = True
On Error Resume Next
oApp.UserControl = True
'Ouverture du fichier de référence
Set wb = oApp.Workbooks.Open(pathFR)
Set ws = wb.Worksheets("Rapport")
'Première photo
Valeur = pathI & picC.Value
Set Img1 = ws.Pictures.Insert(Valeur)
Img1.Left = ws.Range("PicCo").MergeArea.Left
Img1.Top = ws.Range("PicCo").MergeArea.Top
Img1.Width = ws.Range("PicCo").MergeArea.Width
Img1.Height = ws.Range("PicCo").MergeArea.Height
Set Img1 = Nothing
'Seconde Photo
Valeur = pathI & PicNC.Value
Set Img2 = ws.Pictures.Insert(Valeur)
Img2.Left = ws.Range("ImNC").MergeArea.Left
Img2.Right = ws.Range("ImNC").MergeArea.Right
Img2.Top = ws.Range("ImNC").MergeArea.Top
Img2.Width = ws.Range("ImNC").MergeArea.Width
Img2.Height = ws.Range("ImNC").MergeArea.Height
Set Img2 = Nothing |
ImNC et PicCo sont les noms des deux plages de cellules qui doivent recevoir les photos.
PicC est la zone de texte d'un formulaire qui indique le nom et l'extension de la photo.
Mon souci c'est qu'elles se placent par défaut sur la dernière case selectionnée dans la feuille de calcule lorsque celle ci a été enregistré.