OVH Cloud OVH Cloud

enregistrer des fichiers jpg à partir d' excel ...

6 réponses
Avatar
Eric C
Bonjour à tous,

Je m'explique...

Un fichier excel me fait un classement grace à une macro après
l'introduction des résultats de matches.

Via un petit programme de capture d'écran très pratique (srip32), je
sélectionne manuellement à l'aide de la souris la zone sur ma feuille
excel qui correspond au classement que j'enregistre dans un fichier .jpg
J'ai donc chaque semaine un fichier "classement.jpg"

Je fais de meme pour le résultat des matches, ... et pour plein d'autres
zones de mes feuilles excel.
J'ai donc aussi un fichier "resultats.jpg", un fichier "points
individuels.jpg"

Tous ces fichiers jpg sont ensuite intégrés dans une page web.

J'aimerais qu'une macro (ou du code vb) puisse sélectionner les zones
intéressantes de ma feuille excel et les transformer en fichiers jpg.

Est-ce possible ?

Je ne tiens pas absolument à utiliser mon pgm de capture d'écran si
quelqu'un a une autre idée...

Merci de vos réponses !

Eric

6 réponses

Avatar
michdenis
Bonjour,

Un petit exemple :

Ce qui suit sauvegarde en JPG la plage de cellules A1:G30 de la feuil2

'------------------------------------
Sub CopiePlageDeCelluleEtExporterImage()
Application.ScreenUpdating = False
With Sheets("feuil2")
.Activate
Workbooks.Add
.Range("A1:g30").CopyPicture
With ActiveSheet
.Paste
With .ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
.ChartArea.Border.LineStyle = 0
End With
With .ChartObjects(1)
.Top = 0
.Left = 0
.Chart.Export "C:Denis.jpg", "JPG"
End With
End With
End With
End Sub
'------------------------------------



MichD
--------------------------------------------
"Eric C" a écrit dans le message de groupe de discussion : 4d35d42d$0$14244$

Bonjour à tous,

Je m'explique...

Un fichier excel me fait un classement grace à une macro après
l'introduction des résultats de matches.

Via un petit programme de capture d'écran très pratique (srip32), je
sélectionne manuellement à l'aide de la souris la zone sur ma feuille
excel qui correspond au classement que j'enregistre dans un fichier .jpg
J'ai donc chaque semaine un fichier "classement.jpg"

Je fais de meme pour le résultat des matches, ... et pour plein d'autres
zones de mes feuilles excel.
J'ai donc aussi un fichier "resultats.jpg", un fichier "points
individuels.jpg"

Tous ces fichiers jpg sont ensuite intégrés dans une page web.

J'aimerais qu'une macro (ou du code vb) puisse sélectionner les zones
intéressantes de ma feuille excel et les transformer en fichiers jpg.

Est-ce possible ?

Je ne tiens pas absolument à utiliser mon pgm de capture d'écran si
quelqu'un a une autre idée...

Merci de vos réponses !

Eric
Avatar
isabelle
bonjour Eric,

Sub Enregistre_Sélection_En_Image()
t = Selection.Top
l = Selection.Left
w = Selection.Width
h = Selection.Height
Selection.CopyPicture xlScreen, xlPicture
Sheets.Add
ActiveSheet.Paste Destination:=Range("A1")
With ActiveSheet
.Range("A1").CopyPicture
.Paste
.ChartObjects.Add(t, l, w, h).Chart.Paste
.ChartObjects(1).Chart.Export "c:testImage1.gif", "gif" 'Adapter le répertoire
End With
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub

isabelle



Le 2011-01-18 12:55, Eric C a écrit :
Bonjour à tous,

Je m'explique...

Un fichier excel me fait un classement grace à une macro après
l'introduction des résultats de matches.

Via un petit programme de capture d'écran très pratique (srip32), je
sélectionne manuellement à l'aide de la souris la zone sur ma feuille
excel qui correspond au classement que j'enregistre dans un fichier .jpg
J'ai donc chaque semaine un fichier "classement.jpg"

Je fais de meme pour le résultat des matches, ... et pour plein d'autres
zones de mes feuilles excel.
J'ai donc aussi un fichier "resultats.jpg", un fichier "points
individuels.jpg"

Tous ces fichiers jpg sont ensuite intégrés dans une page web.

J'aimerais qu'une macro (ou du code vb) puisse sélectionner les zones
intéressantes de ma feuille excel et les transformer en fichiers jpg.

Est-ce possible ?

Je ne tiens pas absolument à utiliser mon pgm de capture d'écran si
quelqu'un a une autre idée...

Merci de vos réponses !

Eric
Avatar
Eric C
Merci de la réponse, je vais tester ce soir !
Eric



Le 18/01/2011 20:01, michdenis a écrit :
Bonjour,

Un petit exemple :

Ce qui suit sauvegarde en JPG la plage de cellules A1:G30 de la feuil2

'------------------------------------
Sub CopiePlageDeCelluleEtExporterImage()
Application.ScreenUpdating = False
With Sheets("feuil2")
.Activate
Workbooks.Add
.Range("A1:g30").CopyPicture
With ActiveSheet
.Paste
With .ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
.ChartArea.Border.LineStyle = 0
End With
With .ChartObjects(1)
.Top = 0
.Left = 0
.Chart.Export "C:Denis.jpg", "JPG"
End With
End With
End With
End Sub
'------------------------------------



MichD
--------------------------------------------
"Eric C" a écrit dans le message de groupe de discussion : 4d35d42d$0$14244$

Bonjour à tous,

Je m'explique...

Un fichier excel me fait un classement grace à une macro après
l'introduction des résultats de matches.

Via un petit programme de capture d'écran très pratique (srip32), je
sélectionne manuellement à l'aide de la souris la zone sur ma feuille
excel qui correspond au classement que j'enregistre dans un fichier .jpg
J'ai donc chaque semaine un fichier "classement.jpg"

Je fais de meme pour le résultat des matches, ... et pour plein d'autres
zones de mes feuilles excel.
J'ai donc aussi un fichier "resultats.jpg", un fichier "points
individuels.jpg"

Tous ces fichiers jpg sont ensuite intégrés dans une page web.

J'aimerais qu'une macro (ou du code vb) puisse sélectionner les zones
intéressantes de ma feuille excel et les transformer en fichiers jpg.

Est-ce possible ?

Je ne tiens pas absolument à utiliser mon pgm de capture d'écran si
quelqu'un a une autre idée...

Merci de vos réponses !

Eric

Avatar
Eric C
Merci Isa pour ta réponse, je teste ce soir et je reviens ...

Eric

Le 18/01/2011 23:23, isabelle a écrit :
bonjour Eric,

Sub Enregistre_Sélection_En_Image()
t = Selection.Top
l = Selection.Left
w = Selection.Width
h = Selection.Height
Selection.CopyPicture xlScreen, xlPicture
Sheets.Add
ActiveSheet.Paste Destination:=Range("A1")
With ActiveSheet
.Range("A1").CopyPicture
.Paste
.ChartObjects.Add(t, l, w, h).Chart.Paste
.ChartObjects(1).Chart.Export "c:testImage1.gif", "gif" 'Adapter le
répertoire
End With
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub

isabelle



Le 2011-01-18 12:55, Eric C a écrit :
Bonjour à tous,

Je m'explique...

Un fichier excel me fait un classement grace à une macro après
l'introduction des résultats de matches.

Via un petit programme de capture d'écran très pratique (srip32), je
sélectionne manuellement à l'aide de la souris la zone sur ma feuille
excel qui correspond au classement que j'enregistre dans un fichier .jpg
J'ai donc chaque semaine un fichier "classement.jpg"

Je fais de meme pour le résultat des matches, ... et pour plein d'autres
zones de mes feuilles excel.
J'ai donc aussi un fichier "resultats.jpg", un fichier "points
individuels.jpg"

Tous ces fichiers jpg sont ensuite intégrés dans une page web.

J'aimerais qu'une macro (ou du code vb) puisse sélectionner les zones
intéressantes de ma feuille excel et les transformer en fichiers jpg.

Est-ce possible ?

Je ne tiens pas absolument à utiliser mon pgm de capture d'écran si
quelqu'un a une autre idée...

Merci de vos réponses !

Eric
Avatar
Eric C
Bonsoir MichD,

C'est exactement ce que je voulais.
Etant donné que mes zones à copier sont fixes, je peux générer via ce
code tous les fichiers voulus.
Merci encore

Eric

Le 18/01/2011 20:01, michdenis a écrit :
Bonjour,

Un petit exemple :

Ce qui suit sauvegarde en JPG la plage de cellules A1:G30 de la feuil2

'------------------------------------
Sub CopiePlageDeCelluleEtExporterImage()
Application.ScreenUpdating = False
With Sheets("feuil2")
.Activate
Workbooks.Add
.Range("A1:g30").CopyPicture
With ActiveSheet
.Paste
With .ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
.ChartArea.Border.LineStyle = 0
End With
With .ChartObjects(1)
.Top = 0
.Left = 0
.Chart.Export "C:Denis.jpg", "JPG"
End With
End With
End With
End Sub
'------------------------------------



MichD
--------------------------------------------
"Eric C" a écrit dans le message de groupe de discussion : 4d35d42d$0$14244$

Bonjour à tous,

Je m'explique...

Un fichier excel me fait un classement grace à une macro après
l'introduction des résultats de matches.

Via un petit programme de capture d'écran très pratique (srip32), je
sélectionne manuellement à l'aide de la souris la zone sur ma feuille
excel qui correspond au classement que j'enregistre dans un fichier .jpg
J'ai donc chaque semaine un fichier "classement.jpg"

Je fais de meme pour le résultat des matches, ... et pour plein d'autres
zones de mes feuilles excel.
J'ai donc aussi un fichier "resultats.jpg", un fichier "points
individuels.jpg"

Tous ces fichiers jpg sont ensuite intégrés dans une page web.

J'aimerais qu'une macro (ou du code vb) puisse sélectionner les zones
intéressantes de ma feuille excel et les transformer en fichiers jpg.

Est-ce possible ?

Je ne tiens pas absolument à utiliser mon pgm de capture d'écran si
quelqu'un a une autre idée...

Merci de vos réponses !

Eric

Avatar
Eric C
Bonsoir Isa,

Ton code fonctionne très bien pour les zones non déterminées à l'avance
dans une feuille, on sélectionne, on run la macro et c'est mis sous jpg,
un bonheur.
Pour mon exemple où les zones intéressantes sont toujours au même
endroit, j'ai utilisé le code de MichD ci-dessous, c'est ce que je voulais.
Merci encore pour ta réponse rapide.
Bonne soirée
Eric

Le 18/01/2011 23:23, isabelle a écrit :
bonjour Eric,

Sub Enregistre_Sélection_En_Image()
t = Selection.Top
l = Selection.Left
w = Selection.Width
h = Selection.Height
Selection.CopyPicture xlScreen, xlPicture
Sheets.Add
ActiveSheet.Paste Destination:=Range("A1")
With ActiveSheet
.Range("A1").CopyPicture
.Paste
.ChartObjects.Add(t, l, w, h).Chart.Paste
.ChartObjects(1).Chart.Export "c:testImage1.gif", "gif" 'Adapter le
répertoire
End With
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub

isabelle



Le 2011-01-18 12:55, Eric C a écrit :
Bonjour à tous,

Je m'explique...

Un fichier excel me fait un classement grace à une macro après
l'introduction des résultats de matches.

Via un petit programme de capture d'écran très pratique (srip32), je
sélectionne manuellement à l'aide de la souris la zone sur ma feuille
excel qui correspond au classement que j'enregistre dans un fichier .jpg
J'ai donc chaque semaine un fichier "classement.jpg"

Je fais de meme pour le résultat des matches, ... et pour plein d'autres
zones de mes feuilles excel.
J'ai donc aussi un fichier "resultats.jpg", un fichier "points
individuels.jpg"

Tous ces fichiers jpg sont ensuite intégrés dans une page web.

J'aimerais qu'une macro (ou du code vb) puisse sélectionner les zones
intéressantes de ma feuille excel et les transformer en fichiers jpg.

Est-ce possible ?

Je ne tiens pas absolument à utiliser mon pgm de capture d'écran si
quelqu'un a une autre idée...

Merci de vos réponses !

Eric