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
bonjour
visiblement la version 4.3 est dispos déjà me semble t il ;)
bon elle n'a pas la dernière version pour les shapes to png file mais on s'en fou le générateur html ne change pas ;il est générique compatible HTML5 et inférieur puisque c'est du DOM 1/2 et du CSS 2 max
et inline
 

Dudu2

XLDnaute Barbatruc
Bonjour @patricktoulon,
J'ai un petit souci avec ça. Peux-tu regarder ?
1662815477999.png
 

Pièces jointes

  • 11Range to Html by code early bindig 2022 V 4.3 Bug.xlsm
    313.5 KB · Affichages: 1
Dernière édition:

Dudu2

XLDnaute Barbatruc
J'ai aussi remarqué ça qui n'a peut-être pas d'effet:
HTML:
<!--[if mso]>
<v:rect style="left: 10pt; top: 2pt; width: 226.199pt; height: 153.164pt; position: absolute;" xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" ><v:fill  type="frame" src="Picture_2.png"><!--
v:fill-->
</v:fill><!--
v:rect--></v:rect>
<![endif]--><!--[if !mso]><!-- -->
<img style="left: 10pt; top: 2pt; width: 237.509pt; height: 148.986pt; position: absolute;" src="RangeToHTMLPatrick\Picture_2.png">
<!--<![endif]-->
Premier: src="Picture_2.png"
Deuxième: src="RangeToHTMLPatrick\Picture_2.png"
 

patricktoulon

XLDnaute Barbatruc
re
alors
le dossier n'est pas utilisé car il me sert dans une autre fonction dans un contexte différent

pour le src c'est normal le tag img c'est pour le fichier web et donc les image sont dans un dossier je sais pas porquoi il y a "patrick" mais bon je suppose que tu travail avec un dossier nomé comme tel
pour info ton fichier plante chez moi je sais pas ce que tu a fait dedans

et en effet la couleur n'est pas bonne dans ton fichier la non plus je ne sais pas ce que tu a fait

je teste donc avec le mien

sans image
1662817264511.png



avec image

1662817352939.png



je teste donc avec la copie de ta feuille à toi sur mon fichier

et il me replante au meme endroit avec les images

1662817717703.png



je teste au cas ou sans les images
et hop je me tape la fusion en noir
1662817895761.png



je reteste donc en fusionnant dans ma feuille ,la cellule ou il y a "X1" comme sur ta feuille
et je teste
1662818122177.png



LE VERDICT EST CLAIR
conclusion ta feuille est corrompue dans son xml

il est fort possible ( je l'ai déjà vu) que la copie de ma feuille sur ton fichier 2016 corrompe les xml et vice et versa


voila voila ;)
 

Dudu2

XLDnaute Barbatruc
Je n'ai rien modifié dans ton fichier à part:
- Dans le Sub testOutlookwithShapesFichier() -> Set RnG = ActiveSheet.[c4:i13] au lieu de Set RnG = Feuil1.[c4:i13]
- Ajouté ma feuille qui pose problème dans ton classeur pour la faire traiter par ton bouton
1662819959554.png


Et le problème persiste:
1662820185880.png

1662820074446.png
 

Pièces jointes

  • 1662820063933.png
    1662820063933.png
    165.4 KB · Affichages: 3
  • 11Range to Html by code early bindig 2022 V 4.3.xlsm
    500.7 KB · Affichages: 1

Dudu2

XLDnaute Barbatruc
En fait c'est un phénomène étrange où il suffit de repeindre la cellule du X1 avec sa couleur pour corriger le problème.

Edit: j'ai regardé toutes les propriétés de la cellule avant et après re-peinture et il n'y a aucune différence. On va laisser tomber ce cas délirant.
Avant:
1662822263189.png

Après:
1662822294793.png
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
En fait c'est un phénomène étrange où il suffit de repeindre la cellule du X1 avec sa couleur pour corriger le problème.

ça c'est pas une solution c'est une emplâtre sur une jambe de bois

non j'ai trouvé l'erreur !!!!!!!!!!!!!!!!!!!!!!!!!!

SALO!!! SALO!! SALO!!! tu m'a fait courrir


ta shape "fleche" contient " un caractère interdit et ça plantait tout
ta shape s'appelait
Légende:flèche vers la droite 3
tu m'étonne que le xml ou html part en sucette en lecture dans la page web 🤣🤣🤣🤣🤣

pour info
un caractère interdit dans un des attributs des éléments html quels qu'ils soient ...
et bien c'est tout le reste des attributs qui ne sont pas lus (ou à moitié )


bon du coup je t'offre avant tous la version 4.5 (en primeur encore)
qui contient la dernière mouture de la fonction shape to png file
et donc légèrement plus rapide
au moins il n'y a plus d’ambiguïté entre classeurs
ta feuille est bien restituée en page web et outlook
1662821726163.png
 

Pièces jointes

  • 11Range to Html by code early bindig 2022 V 4.5.xlsm
    449.7 KB · Affichages: 3

Dudu2

XLDnaute Barbatruc
Je ne suis pas sûr que tu aies trouvé l'origine du truc. Peut-être mais...Avec ton ancien fichier
Si on retire la flèche et même l'image:
1662829109036.png

C'est la même punition:
1662829156481.png


D'ailleurs si on ne place aucun objet dans le Range (l'utilisateur de ta fonction n'est pas sensé savoir à priori si il y en a et combien), ton code plante. Il faudrait que tu protèges ce cas.
 

Pièces jointes

  • 11Range to Html by code early bindig 2022 V 4.3.xlsm
    263.1 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
314 017
Messages
2 104 587
Membres
109 084
dernier inscrit
mizab