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

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

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

Dernière édition:
résultat chez moi de ton dernier fichier tel quel
1660660519456.png
 
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 🙂
 
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 !
 
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é
 
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 !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour