problème sur charobject.add dans un export jpg
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:
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