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
bon ben pour moi j'ai ajouté le control de la bulette "TABLE" / "table"

et on est bon avec
  1. méthode "WebBrowser" OK
  2. méthode "IE" OK
  3. méthode DOM(createtablehtml2) OK
  4. méthode publish version (Patrick avec HTMLdocument de reprise) OK
  5. vais-je pouvoir ajouter la tienne a ma liste de possibilité??
j'oserais quand même dire (même si je salut l'artiste pour ce travail ) que de travailler le HTML en string et fortement déconseillé en javascript même si ca parait plus facile ça ne l'ai pas!!(crois en mon expérience )
alors en vb qui ne gère pas toute les properties html et css encore moins

mais je dois me plier a la réalité ta méthode et tout aussi valable qu'une méthode plus orthodoxe( celle que j'utilise) certes dans d'autres contexte de besoins html je pense que tu serait Out mais là pour un simple range ben ça colle

donc bravo à toi 👏pour me prouver que tu pouvais le faire en string
 

patricktoulon

XLDnaute Barbatruc
re
attends je suis en train de compiler mes 4 méthodes avec exemples dans un même fichier
quoi que j'ai pas envie de mélanger la méthode 4 createtablehtml2 des versions(4.9 ; 5.0 ; 5.1)avec les autres car elle au moins elle est sur

et du coup aussi je suis en train de faire mes autres fonctions html avec publish aussi
par exemple UsedColumnToParagrapheHTML etc....
j'en ai quelque une ;) à faire
 

Dudu2

XLDnaute Barbatruc
Plusieurs solutions sont actuellement disponibles:
  1. Les solutions de @patricktoulon dans cette ressource.

  2. La solution de @Dudu2 dans le fichier joint pour chacune des situations:
    - Créer un fichier .htm et son répertoire associé de fichiers images
    - Créer un fichier .htm unique contenant les images codées en Base64
    - Créer un mail Outlook
 

Pièces jointes

  • RangeToHTML_ToFile_ToOutlook.xlsm
    339.8 KB · Affichages: 6
Dernière édition:

Dudu2

XLDnaute Barbatruc
Dans la solution (Post #429) j'ai intégré tous les cas de génération de HTML en 1 seul fichier.

J'avais aussi un souci avec l'expansion automatique des Tableaux Structurés lors de la valorisation de la dernière cellule vide du Range pour forcer la création des TD par Publish. Ce problème est maintenant réglé avec la gestion de l'indicateur Application.AutoCorrect.AutoExpandListRange.
 

Dudu2

XLDnaute Barbatruc
C'est super compliqué de copier les largeurs de colonne quand des cellules fusionnées s'en mêlent !

Sinon, Publish est perdu quand on coupe un Tableau Structuré ou quand les derniers TD son vides.
Si tu arrives à générer la Table en String, je suis preneur.

1663597052906.png


1663596899793.png
 

patricktoulon

XLDnaute Barbatruc
re
ho ben je suis pas loin en fait
et a mon ENORME !! surprise - de 0.047 seconde pour construire
en string alors que c'est le plus long a travailler bref on marche sur la tete

j'ai un peu de boulot en extérieur cette semaine je serais moins présent mais tout les soir je m'y mettrais un peu
en attendant là ou j'en suis en string
si tu veux travailler dessus
demo.gif
 

Pièces jointes

  • complihtmlstring.xlsm
    23 KB · Affichages: 6

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG