Bonjour,
mon application en cours crée une succession de codes-barres dans des images au format bmp et chacun d'eux est sauvegardé sur le répertoire de l'application. Tout de suite après la création, j'insère ces images dans une feuille Excel. Tout va bien jusque là. Après avoir sauvegardé le classeur et fermé l'application, je supprime les images. C'est là que vient le problème: dans le classeur, à la place de chaque image, j'ai le message suivant: "Impossible d'afficher l'image liée. Le fichier a peut-être été déplacé, renommer ou supprimé..."
Voici le code
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
32
33
34
35
36
37
38
39
Decal = 3
For j = 1 To NbCat
    jdec = j + Decal
    Contenu = CatAIDA(j)
 
    Call CodeBarreBMP(j, Contenu)
 
    wsExcel = wbExcel.Worksheets("AIDA")
    wsExcel.Activate()
    wsExcel.Cells(1, jdec).select
 
    With wsExcel.Pictures.Insert(My.Application.Info.DirectoryPath + "\Image" & j & ".bmp")
        With .ShapeRange
            .LockAspectRatio = True
            .Width = 70
            .Height = 160
        End With
        .Left = wsExcel.Cells(1, jdec).Left
        .Top = wsExcel.Cells(1, jdec).Top
        .Placement = 1
        .PrintObject = True
    End With
 
Next
 
appExcel.Visible = True
wbExcel.Save()
wbExcel.Close() 'Fermeture du classeur Excel
appExcel.Quit() 'Fermeture de l'application Excel
appExcel = Nothing
wbExcel = Nothing
 
For Each ObjPro As Process In Process.GetProcessesByName("EXCEL")
    ObjPro.Kill()
Next
 
For j = 1 To NbCat
    My.Computer.FileSystem.DeleteFile(My.Application.Info.DirectoryPath + "\Image" & j & ".bmp")
Next
Quand je supprime les trois dernières lignes, les images s'affichent correctement dans le classeur. Quelqu'un peut-il m'aider à comprendre comment fonctionne ce lien vers les images et comment contourner le problème pour pouvoir faire le ménage parmi les images sans dégrader le classeur excel?
D'avance merci de votre aide