Bonjour à tous,
Après plusieurs heures d'essais, je viens vous demander une petite aide (toute honteuse de ne pas trouver par moi même !!).
J'ai une macro qui me transforme des code 128 en image ( macro ci jointe : mes codes sont dans un onglet "données" en colonne C) et me crée un fichier image par code.
Cela fonctionne très bien lorsque je la fais tourner avec ma touche F8.
Par contre dès que je lance la macro en automatique, mes fichiers images sont vides.
Il doit y avoir une petite coquille dans ma programmation mais je ne trouve pas quoi.
Pourriez-vous me donner un petit coup de main?
Nathalie
Sub Transforme_image_pourtest()
Dim S As Range
Dim nblig, i As Integer
Dim titre As Variant
Sheets("données").Select
nblig = ActiveSheet.UsedRange.Rows.Count
i = 2
For i = 2 To nblig + 1
titre = Cells(i, 1)
Set S = Sheets("données").Cells(i, 3)
S.CopyPicture
Workbooks.Add
With ActiveSheet.ChartObjects.Add(0, 0, S.Width, S.Height).Chart
.Paste
.Export "C:\" & titre & ".gif", "GIF"
End With
ActiveWorkbook.Close False
Next i
Application.ScreenUpdating = True
End Sub
Après plusieurs heures d'essais, je viens vous demander une petite aide (toute honteuse de ne pas trouver par moi même !!).
J'ai une macro qui me transforme des code 128 en image ( macro ci jointe : mes codes sont dans un onglet "données" en colonne C) et me crée un fichier image par code.
Cela fonctionne très bien lorsque je la fais tourner avec ma touche F8.
Par contre dès que je lance la macro en automatique, mes fichiers images sont vides.
Il doit y avoir une petite coquille dans ma programmation mais je ne trouve pas quoi.
Pourriez-vous me donner un petit coup de main?
Nathalie
Sub Transforme_image_pourtest()
Dim S As Range
Dim nblig, i As Integer
Dim titre As Variant
Sheets("données").Select
nblig = ActiveSheet.UsedRange.Rows.Count
i = 2
For i = 2 To nblig + 1
titre = Cells(i, 1)
Set S = Sheets("données").Cells(i, 3)
S.CopyPicture
Workbooks.Add
With ActiveSheet.ChartObjects.Add(0, 0, S.Width, S.Height).Chart
.Paste
.Export "C:\" & titre & ".gif", "GIF"
End With
ActiveWorkbook.Close False
Next i
Application.ScreenUpdating = True
End Sub