XL 2016 VBA - Range to HTML incluant les objets de la feuille (boutons, images, ...)

Dudu2

XLDnaute Barbatruc
Bonjour,

Je n'ai rien trouvé qui fonctionne pour convertir un Range en HTML qui inclurait tout ce qu'il y a dans le Range en question.

J'ai bien récupéré la fonction de Ron de Bruin omni-présente sur le Web qui fonctionne uniquement pour les valeurs de cellules et leurs formats, sauf pour les tableaux structurés qui ne sont pas en exclusivité dans le Range qui perdent alors leurs formats (qui n'en sont pas vraiment !).
 

Pièces jointes

  • Classeur1.xlsm
    261.1 KB · Affichages: 11

patricktoulon

XLDnaute Barbatruc
re
cherche avec mon pseudo je l'ai déjà donné pour outlook et même CDO
comme je n'ai pas ma bibliotheque(because pc fixe explosé) je ne l'ai pas sous la main

mais on devrais pouvoir le retrouver

si joint ma base par userform
pour les shapes c'est pas au point je n'ai pas la transparence
mais sinon le reste fonctionne proprement
 

Pièces jointes

  • RangeToHTmlWithWebbrowser.xlsm
    284.7 KB · Affichages: 0

Dudu2

XLDnaute Barbatruc
Ok, maintenant je dois pouvoir crier victoire ! SAUF pour Outlook !
Malgré tes réserves sur le Base64 dont il faudrait préciser sur quels environnements ce codage n'est pas reconnu.

Les images sont maintenant Inline dans le HTML résultant.
Je n'ai eu qu'à traiter les Tags <img.
Je n'ai pas traité les Tags <v:imagedata dont je ne connais pas l'utilité et qui font toujours référence aux fichiers disparus sans que cela n'impacte l'affichage Firefox. A vérifier sur Outlook.
De même pour le Tag <link.

Edit: Victoire certes, mais pas pour Outlook qui ne reconnait pas la représentation des images Inline en Base64, contrairement à Thunderbird et bien sûr contrairement à tous les navigateurs Web ! Quelle daube !
Il va falloir coder une option spéciale pour les mails Outlook en utilisant les Attachments et les CID Outlook.
 

Pièces jointes

  • RangeToHTML.xlsm
    275.6 KB · Affichages: 1
Dernière édition:

patricktoulon

XLDnaute Barbatruc
résultat chez moi de ton dernier fichier tel quel
1660660519456.png
 

patricktoulon

XLDnaute Barbatruc
re
et moi j'ai un problème avec ta fonction base64😅
selon le poids de l'image je n'ai qu'une partie :oops:
je me suis fait un petit userform de contrôle pour ça
je joint le contrôleur et l'image que j'ai utilisé
démonstration
demo.gif
 

Pièces jointes

  • Penguins.jpg
    Penguins.jpg
    39.8 KB · Affichages: 15
  • test base64.xlsm
    24.7 KB · Affichages: 3

Usine à gaz

XLDnaute Barbatruc
Bonjour @Usine à gaz,

Bizarre ton image.
J'ai essayé avec tous mes navigateurs (Firefox, Chrome, Waterfox, IE, Edge) et partout j'ai ça:
Regarde la pièce jointe 1147428
qui est conforme à l'image du Range.
T'utilises quoi comme navigateur ??
LOL oui : j'ai déplacé le bouton 2 et la flèche bleue. C'était pour voir command ça se reproduit :)
J'ai utilisé Chrome.
lionel :)
 

Dudu2

XLDnaute Barbatruc
Pour info Thunderbird reçoit bien le mail envoyé par Outlook et le présente bien (j'ai changé la Shape pour voir la transparence)

1660670044504.png

Par contre Outlook n'arrive pas à traiter le HTML avec les images Inline en Base64. Évidemment !
 

patricktoulon

XLDnaute Barbatruc
Ps: j'ai enfin réussi a sauver ma bibliothèque de truc perso vba et autre
j'ai donc pu retrouver mon converter(userform original) avec wysiwyg
je suis le plus heureux du monde 10 années de travail perdues
et retrouvées grâce a une machine que l'on m'a prété pour sauver ce qui peut etre sauver d'un disque cramé
 

Dudu2

XLDnaute Barbatruc
je te l'avais dis outlook c'est mort
Ouais, ben Outlook il fait suer pour parler poliment.
tu a testé mon fichier ???
Je sais pas trop quoi tester dans ton fichier.
Faut que je change toutes les références d'image. Ce serait mieux si tu la plaçais en constante.
Je sais pas si ça c'est correct:
VB:
.src = "data:image/" & "jpeg" & ";base64," & Base64EncodeFile(ThisWorkbook.Path & "\Penguins.jpg")
"jpeg" -> "jpg" et ";base64" -> ",base64" ?
10 années de travail perdues
et retrouvées
Je comprends ton soulagement !
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 499
Messages
2 110 249
Membres
110 711
dernier inscrit
chmessi