Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en
fichier "jpg" par exemple.
Merci d'avance...
Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en
fichier "jpg" par exemple.
Merci d'avance...
Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en
fichier "jpg" par exemple.
Merci d'avance...
Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3" de
ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
% Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en fichier
"jpg" par exemple.
Merci d'avance...
Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3" de
ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
%23ftet0ywFHA.2848@TK2MSFTNGP15.phx.gbl... Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en fichier
"jpg" par exemple.
Merci d'avance...
Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3" de
ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
% Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en fichier
"jpg" par exemple.
Merci d'avance...
Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3" de
ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
% Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en fichier
"jpg" par exemple.
Merci d'avance...
Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3" de
ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
%23ftet0ywFHA.2848@TK2MSFTNGP15.phx.gbl... Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en fichier
"jpg" par exemple.
Merci d'avance...
Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3" de
ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
% Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en fichier
"jpg" par exemple.
Merci d'avance...
Bonjour Fred,
Disons qu'il s'agit ici d'une "supercherie" afin d'avoir accès à la méthode
"EXPORT" d'un objet "Chart" qui nous permet de créer le fichier "image.jpg".
Si tu vas dans l'aide d'excel sous "ChartObject", tu pourras y lire ces 2
lignes qui décrivent assez bien ce que la procédure fait. ------------------
"L'objet ChartObject sert de contenant (cadre) à un objet Chart. Les
propriétés et méthodes de l'objet ChartObject déterminent l'aspect et la
taille du graphique incorporé dans la feuille." ------------------
Évidemment une image n'est pas un graphique, mais on utilise le conteneur
ChartObject pour lui passer un objet. Cet objet pourrait être un textbox ou
un bouton de commande de la feuille, cela ne ferait aucune différence.
La ligne de code suivante un graphique vide (le cadre du graphique). La
méthode Add de l'objet ChartObjets a 4 paramêtres : Left ,Top Width
,Height . Les 2 permiers "0" dans le coin supérieur gauche de la feuille de
calcul. et Selection.Width, Selection.Height signifie que la hauteur et la
largeur du cadre graphique sera de dimension de l'objet dans le presse-papier
qui est l'image que la procédure y a mise.
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
La ligne de code suivante : ".Paste" colle tout simplement l'objet "Image"
dans le cadre graphique qui est lui l'objet sélectioné au moment de coller
l'image... c'est ce pourquoi l'image se retrouve dans le cadre graphique
plutôt que dans la feuille de calcul.
Si tu veux vraiment voir ce qui se passe, exécute la procédure pas à pas et
observe ce qui se passe dans le classeur ajouté entre chaque ligne de code.
Et pour terminer et illustrer davantage mon propos, voici une procédure qui
crée une image d'une plage de cellules en utilisant la même technique :
'---------------------------------
Sub CreerImagePlageDeCellules()
Dim Nom As String
Application.ScreenUpdating = False
With Worksheets("Feuil1")
.Range("A1:C5").CopyPicture xlScreen, xlPicture
Nom = .Name
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.Export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'---------------------------------
Salutations!
"fred" a écrit dans le message de news:Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3"
de ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
% Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en fichier
"jpg" par exemple.
Merci d'avance...
bonjour
peux tu expliquer ta ligne .chartobjects stp
je cherche à récupérer des images mais avec la dimension d'origine et
je me retrouve avec des images tronquées et de quelqes ko!!
merci d'avance
fred
Bonjour Fred,
Disons qu'il s'agit ici d'une "supercherie" afin d'avoir accès à la méthode
"EXPORT" d'un objet "Chart" qui nous permet de créer le fichier "image.jpg".
Si tu vas dans l'aide d'excel sous "ChartObject", tu pourras y lire ces 2
lignes qui décrivent assez bien ce que la procédure fait. ------------------
"L'objet ChartObject sert de contenant (cadre) à un objet Chart. Les
propriétés et méthodes de l'objet ChartObject déterminent l'aspect et la
taille du graphique incorporé dans la feuille." ------------------
Évidemment une image n'est pas un graphique, mais on utilise le conteneur
ChartObject pour lui passer un objet. Cet objet pourrait être un textbox ou
un bouton de commande de la feuille, cela ne ferait aucune différence.
La ligne de code suivante un graphique vide (le cadre du graphique). La
méthode Add de l'objet ChartObjets a 4 paramêtres : Left ,Top Width
,Height . Les 2 permiers "0" dans le coin supérieur gauche de la feuille de
calcul. et Selection.Width, Selection.Height signifie que la hauteur et la
largeur du cadre graphique sera de dimension de l'objet dans le presse-papier
qui est l'image que la procédure y a mise.
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
La ligne de code suivante : ".Paste" colle tout simplement l'objet "Image"
dans le cadre graphique qui est lui l'objet sélectioné au moment de coller
l'image... c'est ce pourquoi l'image se retrouve dans le cadre graphique
plutôt que dans la feuille de calcul.
Si tu veux vraiment voir ce qui se passe, exécute la procédure pas à pas et
observe ce qui se passe dans le classeur ajouté entre chaque ligne de code.
Et pour terminer et illustrer davantage mon propos, voici une procédure qui
crée une image d'une plage de cellules en utilisant la même technique :
'---------------------------------
Sub CreerImagePlageDeCellules()
Dim Nom As String
Application.ScreenUpdating = False
With Worksheets("Feuil1")
.Range("A1:C5").CopyPicture xlScreen, xlPicture
Nom = .Name
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.Export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'---------------------------------
Salutations!
"fred" <fred@nospam.fr> a écrit dans le message de news:
mn.e3cc7d591cd1ce1b.39622@nospam.fr...
Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3"
de ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
%23ftet0ywFHA.2848@TK2MSFTNGP15.phx.gbl... Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en fichier
"jpg" par exemple.
Merci d'avance...
bonjour
peux tu expliquer ta ligne .chartobjects stp
je cherche à récupérer des images mais avec la dimension d'origine et
je me retrouve avec des images tronquées et de quelqes ko!!
merci d'avance
fred
Bonjour Fred,
Disons qu'il s'agit ici d'une "supercherie" afin d'avoir accès à la méthode
"EXPORT" d'un objet "Chart" qui nous permet de créer le fichier "image.jpg".
Si tu vas dans l'aide d'excel sous "ChartObject", tu pourras y lire ces 2
lignes qui décrivent assez bien ce que la procédure fait. ------------------
"L'objet ChartObject sert de contenant (cadre) à un objet Chart. Les
propriétés et méthodes de l'objet ChartObject déterminent l'aspect et la
taille du graphique incorporé dans la feuille." ------------------
Évidemment une image n'est pas un graphique, mais on utilise le conteneur
ChartObject pour lui passer un objet. Cet objet pourrait être un textbox ou
un bouton de commande de la feuille, cela ne ferait aucune différence.
La ligne de code suivante un graphique vide (le cadre du graphique). La
méthode Add de l'objet ChartObjets a 4 paramêtres : Left ,Top Width
,Height . Les 2 permiers "0" dans le coin supérieur gauche de la feuille de
calcul. et Selection.Width, Selection.Height signifie que la hauteur et la
largeur du cadre graphique sera de dimension de l'objet dans le presse-papier
qui est l'image que la procédure y a mise.
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
La ligne de code suivante : ".Paste" colle tout simplement l'objet "Image"
dans le cadre graphique qui est lui l'objet sélectioné au moment de coller
l'image... c'est ce pourquoi l'image se retrouve dans le cadre graphique
plutôt que dans la feuille de calcul.
Si tu veux vraiment voir ce qui se passe, exécute la procédure pas à pas et
observe ce qui se passe dans le classeur ajouté entre chaque ligne de code.
Et pour terminer et illustrer davantage mon propos, voici une procédure qui
crée une image d'une plage de cellules en utilisant la même technique :
'---------------------------------
Sub CreerImagePlageDeCellules()
Dim Nom As String
Application.ScreenUpdating = False
With Worksheets("Feuil1")
.Range("A1:C5").CopyPicture xlScreen, xlPicture
Nom = .Name
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.Export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'---------------------------------
Salutations!
"fred" a écrit dans le message de news:Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3"
de ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
% Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en fichier
"jpg" par exemple.
Merci d'avance...
bonjour
peux tu expliquer ta ligne .chartobjects stp
je cherche à récupérer des images mais avec la dimension d'origine et
je me retrouve avec des images tronquées et de quelqes ko!!
merci d'avance
fred
Bonjour Fred,
Disons qu'il s'agit ici d'une "supercherie" afin d'avoir accès à la méthode
"EXPORT" d'un objet "Chart" qui nous permet de créer le fichier "image.jpg".
Si tu vas dans l'aide d'excel sous "ChartObject", tu pourras y lire ces 2
lignes qui décrivent assez bien ce que la procédure fait. ------------------
"L'objet ChartObject sert de contenant (cadre) à un objet Chart. Les
propriétés et méthodes de l'objet ChartObject déterminent l'aspect et la
taille du graphique incorporé dans la feuille." ------------------
Évidemment une image n'est pas un graphique, mais on utilise le conteneur
ChartObject pour lui passer un objet. Cet objet pourrait être un textbox ou
un bouton de commande de la feuille, cela ne ferait aucune différence.
La ligne de code suivante un graphique vide (le cadre du graphique). La
méthode Add de l'objet ChartObjets a 4 paramêtres : Left ,Top Width
,Height . Les 2 permiers "0" dans le coin supérieur gauche de la feuille de
calcul. et Selection.Width, Selection.Height signifie que la hauteur et la
largeur du cadre graphique sera de dimension de l'objet dans le presse-papier
qui est l'image que la procédure y a mise.
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
La ligne de code suivante : ".Paste" colle tout simplement l'objet "Image"
dans le cadre graphique qui est lui l'objet sélectioné au moment de coller
l'image... c'est ce pourquoi l'image se retrouve dans le cadre graphique
plutôt que dans la feuille de calcul.
Si tu veux vraiment voir ce qui se passe, exécute la procédure pas à pas et
observe ce qui se passe dans le classeur ajouté entre chaque ligne de code.
Et pour terminer et illustrer davantage mon propos, voici une procédure qui
crée une image d'une plage de cellules en utilisant la même technique :
'---------------------------------
Sub CreerImagePlageDeCellules()
Dim Nom As String
Application.ScreenUpdating = False
With Worksheets("Feuil1")
.Range("A1:C5").CopyPicture xlScreen, xlPicture
Nom = .Name
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.Export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'---------------------------------
Salutations!
"fred" a écrit dans le message de news:Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3"
de ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
% Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en fichier
"jpg" par exemple.
Merci d'avance...
bonjour
peux tu expliquer ta ligne .chartobjects stp
je cherche à récupérer des images mais avec la dimension d'origine et
je me retrouve avec des images tronquées et de quelqes ko!!
merci d'avance
fred
Bonjour Fred,
Disons qu'il s'agit ici d'une "supercherie" afin d'avoir accès à la méthode
"EXPORT" d'un objet "Chart" qui nous permet de créer le fichier "image.jpg".
Si tu vas dans l'aide d'excel sous "ChartObject", tu pourras y lire ces 2
lignes qui décrivent assez bien ce que la procédure fait. ------------------
"L'objet ChartObject sert de contenant (cadre) à un objet Chart. Les
propriétés et méthodes de l'objet ChartObject déterminent l'aspect et la
taille du graphique incorporé dans la feuille." ------------------
Évidemment une image n'est pas un graphique, mais on utilise le conteneur
ChartObject pour lui passer un objet. Cet objet pourrait être un textbox ou
un bouton de commande de la feuille, cela ne ferait aucune différence.
La ligne de code suivante un graphique vide (le cadre du graphique). La
méthode Add de l'objet ChartObjets a 4 paramêtres : Left ,Top Width
,Height . Les 2 permiers "0" dans le coin supérieur gauche de la feuille de
calcul. et Selection.Width, Selection.Height signifie que la hauteur et la
largeur du cadre graphique sera de dimension de l'objet dans le presse-papier
qui est l'image que la procédure y a mise.
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
La ligne de code suivante : ".Paste" colle tout simplement l'objet "Image"
dans le cadre graphique qui est lui l'objet sélectioné au moment de coller
l'image... c'est ce pourquoi l'image se retrouve dans le cadre graphique
plutôt que dans la feuille de calcul.
Si tu veux vraiment voir ce qui se passe, exécute la procédure pas à pas et
observe ce qui se passe dans le classeur ajouté entre chaque ligne de code.
Et pour terminer et illustrer davantage mon propos, voici une procédure qui
crée une image d'une plage de cellules en utilisant la même technique :
'---------------------------------
Sub CreerImagePlageDeCellules()
Dim Nom As String
Application.ScreenUpdating = False
With Worksheets("Feuil1")
.Range("A1:C5").CopyPicture xlScreen, xlPicture
Nom = .Name
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.Export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'---------------------------------
Salutations!
"fred" <fred@nospam.fr> a écrit dans le message de news:
mn.e3cc7d591cd1ce1b.39622@nospam.fr...
Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3"
de ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
%23ftet0ywFHA.2848@TK2MSFTNGP15.phx.gbl... Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en fichier
"jpg" par exemple.
Merci d'avance...
bonjour
peux tu expliquer ta ligne .chartobjects stp
je cherche à récupérer des images mais avec la dimension d'origine et
je me retrouve avec des images tronquées et de quelqes ko!!
merci d'avance
fred
Bonjour Fred,
Disons qu'il s'agit ici d'une "supercherie" afin d'avoir accès à la méthode
"EXPORT" d'un objet "Chart" qui nous permet de créer le fichier "image.jpg".
Si tu vas dans l'aide d'excel sous "ChartObject", tu pourras y lire ces 2
lignes qui décrivent assez bien ce que la procédure fait. ------------------
"L'objet ChartObject sert de contenant (cadre) à un objet Chart. Les
propriétés et méthodes de l'objet ChartObject déterminent l'aspect et la
taille du graphique incorporé dans la feuille." ------------------
Évidemment une image n'est pas un graphique, mais on utilise le conteneur
ChartObject pour lui passer un objet. Cet objet pourrait être un textbox ou
un bouton de commande de la feuille, cela ne ferait aucune différence.
La ligne de code suivante un graphique vide (le cadre du graphique). La
méthode Add de l'objet ChartObjets a 4 paramêtres : Left ,Top Width
,Height . Les 2 permiers "0" dans le coin supérieur gauche de la feuille de
calcul. et Selection.Width, Selection.Height signifie que la hauteur et la
largeur du cadre graphique sera de dimension de l'objet dans le presse-papier
qui est l'image que la procédure y a mise.
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
La ligne de code suivante : ".Paste" colle tout simplement l'objet "Image"
dans le cadre graphique qui est lui l'objet sélectioné au moment de coller
l'image... c'est ce pourquoi l'image se retrouve dans le cadre graphique
plutôt que dans la feuille de calcul.
Si tu veux vraiment voir ce qui se passe, exécute la procédure pas à pas et
observe ce qui se passe dans le classeur ajouté entre chaque ligne de code.
Et pour terminer et illustrer davantage mon propos, voici une procédure qui
crée une image d'une plage de cellules en utilisant la même technique :
'---------------------------------
Sub CreerImagePlageDeCellules()
Dim Nom As String
Application.ScreenUpdating = False
With Worksheets("Feuil1")
.Range("A1:C5").CopyPicture xlScreen, xlPicture
Nom = .Name
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.Export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'---------------------------------
Salutations!
"fred" a écrit dans le message de news:Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3"
de ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
% Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en fichier
"jpg" par exemple.
Merci d'avance...
bonjour
peux tu expliquer ta ligne .chartobjects stp
je cherche à récupérer des images mais avec la dimension d'origine et
je me retrouve avec des images tronquées et de quelqes ko!!
merci d'avance
fred
Bonjour Fred,
Copie ce qui suit dans un module standard :
Il ne te reste plus qu'à renseigner la variable NomFeuille de la procédure
NombreImagesDansFeuille.
'------------------------------
Sub NombreImagesDansFeuille()
Dim x As Integer, NomFeuille As String
NomFeuille = "Feuil1" '`a déterminer
If Image(NomFeuille, x) = True Then
MsgBox "La feuille " & NomFeuille & _
" contient " & x & " images."
Else
MsgBox "Aucune image dans cette feuille : " & _
NomFeuille & "."
End If
End Sub
'------------------------------
Function Image(feuille As String, Nb As Integer) As Boolean
Dim Sh As Shape
With Worksheets(feuille)
For Each Sh In .Shapes
If TypeName(Sh.OLEFormat.Object) = "Picture" Then
Nb = Nb + 1
End If
Next
End With
If Nb > 0 Then Image = True
Set Sh = Nothing
End Function
'------------------------------
Salutations!
"fred" a écrit dans le message de news:Bonjour Fred,
Disons qu'il s'agit ici d'une "supercherie" afin d'avoir accès à la méthode
"EXPORT" d'un objet "Chart" qui nous permet de créer le fichier
"image.jpg".
Si tu vas dans l'aide d'excel sous "ChartObject", tu pourras y lire ces 2
lignes qui décrivent assez bien ce que la procédure fait. ------------------
"L'objet ChartObject sert de contenant (cadre) à un objet Chart. Les
propriétés et méthodes de l'objet ChartObject déterminent l'aspect et la
taille du graphique incorporé dans la feuille." ------------------
Évidemment une image n'est pas un graphique, mais on utilise le conteneur
ChartObject pour lui passer un objet. Cet objet pourrait être un textbox ou
un bouton de commande de la feuille, cela ne ferait aucune différence.
La ligne de code suivante un graphique vide (le cadre du graphique). La
méthode Add de l'objet ChartObjets a 4 paramêtres : Left ,Top Width
,Height . Les 2 permiers "0" dans le coin supérieur gauche de la feuille de
calcul. et Selection.Width, Selection.Height signifie que la hauteur et la
largeur du cadre graphique sera de dimension de l'objet dans le
presse-papier qui est l'image que la procédure y a mise.
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
La ligne de code suivante : ".Paste" colle tout simplement l'objet "Image"
dans le cadre graphique qui est lui l'objet sélectioné au moment de coller
l'image... c'est ce pourquoi l'image se retrouve dans le cadre graphique
plutôt que dans la feuille de calcul.
Si tu veux vraiment voir ce qui se passe, exécute la procédure pas à pas et
observe ce qui se passe dans le classeur ajouté entre chaque ligne de code.
Et pour terminer et illustrer davantage mon propos, voici une procédure qui
crée une image d'une plage de cellules en utilisant la même technique :
'---------------------------------
Sub CreerImagePlageDeCellules()
Dim Nom As String
Application.ScreenUpdating = False
With Worksheets("Feuil1")
.Range("A1:C5").CopyPicture xlScreen, xlPicture
Nom = .Name
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.Export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'---------------------------------
Salutations!
"fred" a écrit dans le message de news:Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3"
de ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
% Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en
fichier "jpg" par exemple.
Merci d'avance...
bonjour
peux tu expliquer ta ligne .chartobjects stp
je cherche à récupérer des images mais avec la dimension d'origine et
je me retrouve avec des images tronquées et de quelqes ko!!
merci d'avance
fred
bonjour
merci pour tes explications très claire,
petite question complémentaire , comment tester que la feuille contient
bien une "image 1 " pour passer au fichier suivant si il n'y a pas
d'image
merci d'avance
fred
Bonjour Fred,
Copie ce qui suit dans un module standard :
Il ne te reste plus qu'à renseigner la variable NomFeuille de la procédure
NombreImagesDansFeuille.
'------------------------------
Sub NombreImagesDansFeuille()
Dim x As Integer, NomFeuille As String
NomFeuille = "Feuil1" '`a déterminer
If Image(NomFeuille, x) = True Then
MsgBox "La feuille " & NomFeuille & _
" contient " & x & " images."
Else
MsgBox "Aucune image dans cette feuille : " & _
NomFeuille & "."
End If
End Sub
'------------------------------
Function Image(feuille As String, Nb As Integer) As Boolean
Dim Sh As Shape
With Worksheets(feuille)
For Each Sh In .Shapes
If TypeName(Sh.OLEFormat.Object) = "Picture" Then
Nb = Nb + 1
End If
Next
End With
If Nb > 0 Then Image = True
Set Sh = Nothing
End Function
'------------------------------
Salutations!
"fred" <fred@nospam.fr> a écrit dans le message de news:
mn.eb097d59348b7fa3.39622@nospam.fr...
Bonjour Fred,
Disons qu'il s'agit ici d'une "supercherie" afin d'avoir accès à la méthode
"EXPORT" d'un objet "Chart" qui nous permet de créer le fichier
"image.jpg".
Si tu vas dans l'aide d'excel sous "ChartObject", tu pourras y lire ces 2
lignes qui décrivent assez bien ce que la procédure fait. ------------------
"L'objet ChartObject sert de contenant (cadre) à un objet Chart. Les
propriétés et méthodes de l'objet ChartObject déterminent l'aspect et la
taille du graphique incorporé dans la feuille." ------------------
Évidemment une image n'est pas un graphique, mais on utilise le conteneur
ChartObject pour lui passer un objet. Cet objet pourrait être un textbox ou
un bouton de commande de la feuille, cela ne ferait aucune différence.
La ligne de code suivante un graphique vide (le cadre du graphique). La
méthode Add de l'objet ChartObjets a 4 paramêtres : Left ,Top Width
,Height . Les 2 permiers "0" dans le coin supérieur gauche de la feuille de
calcul. et Selection.Width, Selection.Height signifie que la hauteur et la
largeur du cadre graphique sera de dimension de l'objet dans le
presse-papier qui est l'image que la procédure y a mise.
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
La ligne de code suivante : ".Paste" colle tout simplement l'objet "Image"
dans le cadre graphique qui est lui l'objet sélectioné au moment de coller
l'image... c'est ce pourquoi l'image se retrouve dans le cadre graphique
plutôt que dans la feuille de calcul.
Si tu veux vraiment voir ce qui se passe, exécute la procédure pas à pas et
observe ce qui se passe dans le classeur ajouté entre chaque ligne de code.
Et pour terminer et illustrer davantage mon propos, voici une procédure qui
crée une image d'une plage de cellules en utilisant la même technique :
'---------------------------------
Sub CreerImagePlageDeCellules()
Dim Nom As String
Application.ScreenUpdating = False
With Worksheets("Feuil1")
.Range("A1:C5").CopyPicture xlScreen, xlPicture
Nom = .Name
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.Export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'---------------------------------
Salutations!
"fred" <fred@nospam.fr> a écrit dans le message de news:
mn.e3cc7d591cd1ce1b.39622@nospam.fr...
Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3"
de ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
%23ftet0ywFHA.2848@TK2MSFTNGP15.phx.gbl... Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en
fichier "jpg" par exemple.
Merci d'avance...
bonjour
peux tu expliquer ta ligne .chartobjects stp
je cherche à récupérer des images mais avec la dimension d'origine et
je me retrouve avec des images tronquées et de quelqes ko!!
merci d'avance
fred
bonjour
merci pour tes explications très claire,
petite question complémentaire , comment tester que la feuille contient
bien une "image 1 " pour passer au fichier suivant si il n'y a pas
d'image
merci d'avance
fred
Bonjour Fred,
Copie ce qui suit dans un module standard :
Il ne te reste plus qu'à renseigner la variable NomFeuille de la procédure
NombreImagesDansFeuille.
'------------------------------
Sub NombreImagesDansFeuille()
Dim x As Integer, NomFeuille As String
NomFeuille = "Feuil1" '`a déterminer
If Image(NomFeuille, x) = True Then
MsgBox "La feuille " & NomFeuille & _
" contient " & x & " images."
Else
MsgBox "Aucune image dans cette feuille : " & _
NomFeuille & "."
End If
End Sub
'------------------------------
Function Image(feuille As String, Nb As Integer) As Boolean
Dim Sh As Shape
With Worksheets(feuille)
For Each Sh In .Shapes
If TypeName(Sh.OLEFormat.Object) = "Picture" Then
Nb = Nb + 1
End If
Next
End With
If Nb > 0 Then Image = True
Set Sh = Nothing
End Function
'------------------------------
Salutations!
"fred" a écrit dans le message de news:Bonjour Fred,
Disons qu'il s'agit ici d'une "supercherie" afin d'avoir accès à la méthode
"EXPORT" d'un objet "Chart" qui nous permet de créer le fichier
"image.jpg".
Si tu vas dans l'aide d'excel sous "ChartObject", tu pourras y lire ces 2
lignes qui décrivent assez bien ce que la procédure fait. ------------------
"L'objet ChartObject sert de contenant (cadre) à un objet Chart. Les
propriétés et méthodes de l'objet ChartObject déterminent l'aspect et la
taille du graphique incorporé dans la feuille." ------------------
Évidemment une image n'est pas un graphique, mais on utilise le conteneur
ChartObject pour lui passer un objet. Cet objet pourrait être un textbox ou
un bouton de commande de la feuille, cela ne ferait aucune différence.
La ligne de code suivante un graphique vide (le cadre du graphique). La
méthode Add de l'objet ChartObjets a 4 paramêtres : Left ,Top Width
,Height . Les 2 permiers "0" dans le coin supérieur gauche de la feuille de
calcul. et Selection.Width, Selection.Height signifie que la hauteur et la
largeur du cadre graphique sera de dimension de l'objet dans le
presse-papier qui est l'image que la procédure y a mise.
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
La ligne de code suivante : ".Paste" colle tout simplement l'objet "Image"
dans le cadre graphique qui est lui l'objet sélectioné au moment de coller
l'image... c'est ce pourquoi l'image se retrouve dans le cadre graphique
plutôt que dans la feuille de calcul.
Si tu veux vraiment voir ce qui se passe, exécute la procédure pas à pas et
observe ce qui se passe dans le classeur ajouté entre chaque ligne de code.
Et pour terminer et illustrer davantage mon propos, voici une procédure qui
crée une image d'une plage de cellules en utilisant la même technique :
'---------------------------------
Sub CreerImagePlageDeCellules()
Dim Nom As String
Application.ScreenUpdating = False
With Worksheets("Feuil1")
.Range("A1:C5").CopyPicture xlScreen, xlPicture
Nom = .Name
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.Export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'---------------------------------
Salutations!
"fred" a écrit dans le message de news:Bonjour Mathieu,
voici une façon de faire :
L'exemple suivant suppose que tu as une image ("image 1") dans la "Feuil3"
de ton classeur et que tu veuilles la transformer en fichier ayant une
extension jpg, enregistrée dans le répertoire c:
'-----------------------------
Sub ImageEnFichier()
Application.ScreenUpdating = False
With Worksheets("Feuil3").Shapes("Image 1")
Nom = .Name
.CopyPicture
End With
Workbooks.Add
ActiveSheet.Paste
With ActiveSheet.ChartObjects.Add(0, 0, _
Selection.Width, Selection.Height).Chart
.Paste
'Chemin où le fichier(image) sera enregistré
.export "C:" & Nom & ".jpg", "jpg"
End With
ActiveWorkbook.Close False
End Sub
'-----------------------------
Salutations!
"Mathieu" <m???@hotmail.com> a écrit dans le message de news:
% Bonjours à vous tous!
J'ai des fichiers excel avec des images intégrées
Je voudrais savoir s'il est possible par vba de sauver ces images en
fichier "jpg" par exemple.
Merci d'avance...
bonjour
peux tu expliquer ta ligne .chartobjects stp
je cherche à récupérer des images mais avec la dimension d'origine et
je me retrouve avec des images tronquées et de quelqes ko!!
merci d'avance
fred
bonjour
merci pour tes explications très claire,
petite question complémentaire , comment tester que la feuille contient
bien une "image 1 " pour passer au fichier suivant si il n'y a pas
d'image
merci d'avance
fred