Bonjour a tous, comme le nom du post l'indique j'ai un problème avec ma macro qui génère des codes barres en format jpeg. C'est la première fois que je me retrouve avec ce genre de problème, la macro fonctionne et génère des codes barres mais elle plante sur la ligne chartObjects.add avec le message d'erreur : Erreur d’exécution '1004' erreur définie par l'application ou par l'objet. Ca me le fait seulement quand excel est fermé quand je lance la macro. Si excel est ouvert j'ai aucun soucis, le script s'éxecute et j'ai bien mon code barre sur le bureau.
J'ai essayé avec une tempo pour attendre l'ouverture de l'application excel mais ça change rien.
NB : je code sous solidworks d'ou la présion excel.application
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
40
41
42
43 Sub test() Dim IDcode As String IDcode = "test5Code128" codebarre_img IDcode, "C:\Users\utilisateur\Desktop" End Sub Function codebarre_img(IDcode As String, Chemdoss As String) Dim ndf As String Dim Source As excel.Range, Gr As Object Dim wb As excel.Workbook Dim xlapp As excel.Application Dim wbname As String Set xlapp = CreateObject("excel.application") xlapp.Visible = True Set wb = xlapp.Workbooks.Add wbname = wb.Name ndf = "\" & IDcode & ".jpg" xlapp.Workbooks(wbname).Activate With xlapp.ActiveSheet.Range("a1").Font .Name = "Code 128" .Size = 100 End With xlapp.Range("a1") = IDcode xlapp.Cells(1, 1).EntireColumn.AutoFit xlapp.Range("a1").CopyPicture Appearance:=xlScreen, Format:=xlPicture With xlapp.Workbooks(wbname).Sheets("feuil1").ChartObjects.Add(Range("a1").Left, Range("a1").Top, Range("a1").Width, Range("a1").Height) .Name = "idcode" .Activate End With xlapp.ActiveChart.Paste xlapp.ActiveSheet.ChartObjects("idcode").Chart.Export Chemdoss & ndf xlapp.ActiveWorkbook.Close False xlapp.Visible = False End Function
Je crois que c'est les range dans le chartobject.add qui font bug mais je vois pas pourquoi
Partager