Ewigefrost
XLDnaute Junior
Bonjour !
J'ai un problème avec une macro qui avait toujours très bien marché jusque là ...
Lorsque je change une cellule dans une des 2 feuilles "TCD ALU" et "TCD ACIER", le classeur doit s'exporter en HTM, s'enregistrer en XLS et également exporter la plage de O2 à X37 de la feuille "TCD ALU" en JPG. De plus, une image de la date de l'enregistrement est exportée en JPG.
Mais maintenant, lorsque je change une cellule dans une des 2 feuilles concernées, ça m'affiche :
et ça me surligne la ligne que j'ai coloré en rouge sur mon code.
J'ai redémarré le PC, changé l'ordre des "With" et "End With" mais ça me le fait toujours, je ne sais plus quoi faire ...
Pourriez-vous me donner des pistes SVP ?
Merci !
J'ai un problème avec une macro qui avait toujours très bien marché jusque là ...
Lorsque je change une cellule dans une des 2 feuilles "TCD ALU" et "TCD ACIER", le classeur doit s'exporter en HTM, s'enregistrer en XLS et également exporter la plage de O2 à X37 de la feuille "TCD ALU" en JPG. De plus, une image de la date de l'enregistrement est exportée en JPG.
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)
Sheets("Date").[B2] = Now
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim DernièreLigne As Long
DernièreLigne = [V65536].End(xlUp).Row
wshSheets = [{"TCD ACIER", "TCD ALU"}]
If Not IsError(Application.Match(Sh.Name, wshSheets, 1)) Then
With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
"C:\blabla\test.htm" _
, "TCD ALU", "$N$2:$X$" & DernièreLigne, xlHtmlStatic, "Suivi Prod_2012_S05_21297", "")
.Publish (True)
.AutoRepublish = True
End With
Dim shp As Shape
With Sheets("date")
.Range("B2").CopyPicture xlScreen, xlBitmap
'Créer un graphique qui contiendra l'image et l'exporter en tant qu'image .jpg
With .ChartObjects.Add(0, 0, .Range("B2").Width, .Range("B2").Height).Chart
.Paste
.Export ThisWorkbook.Path & "\date.png", "PNG"
End With
'Supprime le graphique
.ChartObjects(Sheets("date").ChartObjects.Count).Delete
End With
With Sheets("TCD ALU")
ActiveWindow.Zoom = 110
.Range("O2:X37").CopyPicture xlScreen, xlBitmap
'Créer un graphique qui contiendra l'image et l'exporter en tant qu'image .jpg
With .ChartObjects.Add(0, 0, .Range("O2:X37").Width, .Range("O2:X37").Height).Chart
.Paste
.Export ThisWorkbook.Path & "\test1.jpg", "JPG"
End With
'Supprime le graphique
.ChartObjects(Sheets("TCD ALU").ChartObjects.Count).Delete
End With
ActiveWorkbook.Save
End If
End Sub
Mais maintenant, lorsque je change une cellule dans une des 2 feuilles concernées, ça m'affiche :
Erreur d'exécution '1004' :
Erreur définie par l'application ou par l'objet
et ça me surligne la ligne que j'ai coloré en rouge sur mon code.
J'ai redémarré le PC, changé l'ordre des "With" et "End With" mais ça me le fait toujours, je ne sais plus quoi faire ...
Pourriez-vous me donner des pistes SVP ?
Merci !