Macro export htm avec image du classeur
loicoss
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
J'ai une macro pour exporter un fichier excel en .htm (avec report de valeurs de cellule)
Ce code fonctionne très bien.
Je souhaiterai intégrer dans ce code une image contenu dans l'onglet image qui d'après l'enregistreur de macro se nommerait : ActiveSheet.Shapes.Range(Array("Picture 1")).Select
voici donc mon code modifié pour intégrer cette image dans mon fichier htm :
Sub macro_html()
Open ThisWorkbook.Path & "\fichier_html.htm" For Output As #1
Print #1, Chr$(13) & "<html><body>"
Print #1, Chr$(13) & "<table>"
Print #1, Chr$(13) & "<tr>"
Print #1, Chr$(13) & "<td>"
Print #1, Chr$(13) & "<img src='" & Sheets("Image").Shapes.Range(Array("Picture 1")) & "' alt='IMAGE'/>"
Print #1, Chr$(13) & "</td>"
Print #1, Chr$(13) & "<td>"
Print #1, Chr$(13) & "</td>"
Print #1, Chr$(13) & "<td>"
Print #1, Chr$(13) & "" & Sheets("html").Range("B4") & " " & Sheets("html").Range("C4") & ""
Print #1, Chr$(13) & "</td>"
Print #1, Chr$(13) & "</tr>"
Print #1, Chr$(13) & "</table>"
Print #1, Chr$(13) & "</body></html>"
Close #1
ActiveWorkbook.FollowHyperlink Address:=ThisWorkbook.Path & "\fichier_html.htm", NewWindow:=True
End Sub
Le probème c'est qu'il me retourne une erreur sur la ligne <img src='" & Sheets("Image").Shapes.Range(Array("Picture 1")) & "' alt='IMAGE'/>
Je pense me tromper dans l’écriture de cette ligne.
Pourriez m'apporter une aide ?
Pour rappel sans cette ligne mon fichier est bien exporté avec les autres valeurs.
En vous remerciant par avance.
Bonne journée.
J'ai une macro pour exporter un fichier excel en .htm (avec report de valeurs de cellule)
Ce code fonctionne très bien.
Je souhaiterai intégrer dans ce code une image contenu dans l'onglet image qui d'après l'enregistreur de macro se nommerait : ActiveSheet.Shapes.Range(Array("Picture 1")).Select
voici donc mon code modifié pour intégrer cette image dans mon fichier htm :
Sub macro_html()
Open ThisWorkbook.Path & "\fichier_html.htm" For Output As #1
Print #1, Chr$(13) & "<html><body>"
Print #1, Chr$(13) & "<table>"
Print #1, Chr$(13) & "<tr>"
Print #1, Chr$(13) & "<td>"
Print #1, Chr$(13) & "<img src='" & Sheets("Image").Shapes.Range(Array("Picture 1")) & "' alt='IMAGE'/>"
Print #1, Chr$(13) & "</td>"
Print #1, Chr$(13) & "<td>"
Print #1, Chr$(13) & "</td>"
Print #1, Chr$(13) & "<td>"
Print #1, Chr$(13) & "" & Sheets("html").Range("B4") & " " & Sheets("html").Range("C4") & ""
Print #1, Chr$(13) & "</td>"
Print #1, Chr$(13) & "</tr>"
Print #1, Chr$(13) & "</table>"
Print #1, Chr$(13) & "</body></html>"
Close #1
ActiveWorkbook.FollowHyperlink Address:=ThisWorkbook.Path & "\fichier_html.htm", NewWindow:=True
End Sub
Le probème c'est qu'il me retourne une erreur sur la ligne <img src='" & Sheets("Image").Shapes.Range(Array("Picture 1")) & "' alt='IMAGE'/>
Je pense me tromper dans l’écriture de cette ligne.
Pourriez m'apporter une aide ?
Pour rappel sans cette ligne mon fichier est bien exporté avec les autres valeurs.
En vous remerciant par avance.
Bonne journée.
Configuration: Windows / Firefox 60.0
A voir également:
- Macro export htm avec image du classeur
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Image iso - Guide
- Export favoris chrome - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
1 réponse
Bonjour,
Pour enregistrer une image en html:
Voilà
Pour enregistrer une image en html:
'adapter l'emplacement de l'image A1:B6
With ActiveWorkbook.PublishObjects.Add(SourceType:=xlSourceRange, _
Filename:=ThisWorkbook.Path & "\fichier_html.htm", Sheet:="Image", Source:="$A$1:$B$6", _
HtmlType:=xlHtmlStatic, DivID:="Monimage")
.Publish (True)
.AutoRepublish = False
End With
Voilà
La macro que tu viens de me fournir peut-elle être mêlée à la mienne ?
L'idée serait que je puisse importer ma mise en forme les autres cellules et l'image dans le même fichier htm.
Merci d'avance
'adapter l'emplacement de l'image A1:B6 texte en C1 et D1 a adapter Sheets("Image").Range("C1") = Sheets("html").Range("B4") Sheets("Image").Range("D1") = Sheets("html").Range("C4") With ActiveWorkbook.PublishObjects.Add(SourceType:=xlSourceRange, _ Filename:=ThisWorkbook.Path & "\fichier_html.htm", Sheet:="Image", Source:="$A$1:$D$6", _ HtmlType:=xlHtmlStatic, DivID:="Monimage") .Publish (True) .AutoRepublish = False End Withpour plus de détail voir ici:
https://docs.microsoft.com/fr-fr/office/vba/api/excel.publishobjects.add
@+