Mise en page Images dans un Webbrowser

Bonjour à tous, ou Bonsoir suivant l'heure.

Je suis pas trop mal à l'aise avec le VBA, mais complètement néophyte en HTML.

(Amusant de le dire à 73 balais, n'est-il pas ?)

Pour mes recettes de cuisine, j'avais construit un truc basé sur la création dynamique d'images et de Labels dans un Frame, avec une usine à gaz pour agir sur l'ascenseur de ce dernier

En fouillant, j'ai constaté la vitesse fulgurante de l'initialisation d'un Webbrowser où la souris fonctionne.

Avant, pour 300 recettes j'avais le temps d'aller boire un café au bistro du coin, maintenant, je n'ai même pas le temps d'allumer ma cafetière.

Cependant vous comprendre vite le souci pour lequel j'espère avoir un peu d'aide, car je patine depuis trop longtemps.

Je cherche à avoir les légendes sous les images et ceci avec plusieurs vues sur la largeur, et non une seule.

Voici le code :

Private Sub UserForm_Initialize()
REMPLIR_WEB
End Sub

Private Sub OptionButton1_Click()
REMPLIR_WEB
End Sub
Private Sub OptionButton2_Click()
REMPLIR_WEB
End Sub

Sub REMPLIR_WEB()
Open ThisWorkbook.Path & "\PAGE_HTML_DE_LA_CARTE.html" For Output As #1

Dim VUES As String
VUES = Dir(ThisWorkbook.Path & "\CARTE\")
Do While VUES <> "" 'Boucle pour aller vite

Select Case Split(VUES, ".")(1)
Case Is = "jpg" 'Pour éviter autres fichiers parasites

CONDIMENT = Split(VUES, ".")(0) ' Le nom du fichier sans son extension
ADRESSE = ThisWorkbook.Path & "\CARTE\" & VUES ' Le Dossier où chercher

' ****************** LA FAMEUSE CONDITION QUI FICHE LE DESORDRE:
If Me.OptionButton2.Value = True Then 'L'option Avec le Nom du Fichier écrit en-dessous
Print #1, "<figcaption> "; Split(VUES, ".")(0); " </figcaption></figure></A>"
End If
'**************************************************************

Print #1, "<A href='" & Split(VUES, ".")(0) & "'>"
Print #1, "<IMG WIDTH=300 HEIGHT=250 SRC='" & ADRESSE & "'ALT='" & CONDIMENT & "'></A>"

End Select

VUES = Dir
Loop

Close #1 'Sinon il y a une redondance à une nouvelle requête
WebBrowser1.navigate ThisWorkbook.Path & "\PAGE_HTML_DE_LA_CARTE.html"

End Sub
12test-web.xlsm (25.38 Ko)

En vous remerciant par avance et vous souhaitant plein de bonnes choses.

J'ajoute le Dossier "CARTE" après l'avoir fait maigrir

10carte.zip (1.40 Mo)

Bonjour,

A tout hasard car je ne peux pas le vérifier, dans la ligne suivante:

Print #1, "<figcaption> "; Split(VUES, ".")(0); " </figcaption></figure></A>"

Avez-vous essayer de remplacer les points-virgules par des virgules? comme ci-dessous:

Print #1, "<figcaption> ", Split(VUES, ".")(0), " </figcaption></figure></A>"

Cdlt

Merci Arturo d'avoir regardé, et d'avoir pris la peine de me répondre.

J'ai substitué les virgules aux points-virgules, mais cela ne change rien.

Il est même étonnant que le code reste valable.

Autre point personnel, je ne sais si le "83" veut dire le Var,

mais je tiens à dire, dans ce cas, que le Breton que je suis a de beaux souvenirs de La Crau

Amicalement, et au plaisir

Bonjour ou Bonsoir suivant l'heure,

Hormis l'aide d' Arturo 83 , je constate que mon sujet n'attire pas les foules.

Il est vrai que son domaine étant particulier et peu fréquenté, je comprends et pardonne que ma bidouille ne puisse pas enthousiasmer les visiteurs.

Cependant, je joins ma dernière mouture, au cas où cela puisse intéresser quelqu'un

La mise en page est inégale en raison de la longueur des légendes. Mais je ne sais pas gérer leur police.

(Comme certains de nos ministres)

Je vais continuer à chercher, car l'appli que je construis m'est fort utile et aussi pour autres utilisateurs (ices)

Le but est la rédaction de ses recettes personnelles avec photos choisies du net ou de ses propres captures, et liens sur les vidéos idoines téléchargées ou pages internet.

Qui de plus permets de gérer les stocks au frigo ou congélo, ainsi que la recherche de recettes pouvant utiliser la crème fraîche qui va bientôt être périmée.

De créer les menus pour la semaine, et rédiger la liste de courses nécessaire suivant ces derniers

Qui veut participer et m'aider me suive, mais en tous les cas cordiales salutation à qui passera par là

26recettes.zip (891.03 Ko)
triste

Bonjour IFFIC,

Il est vrai que son domaine étant particulier et peu fréquenté, je comprends et pardonne que ma bidouille ne puisse pas enthousiasmer les visiteurs.

En fait même s'il y a une partie VBA liée au WebBrowser. C'est plutôt le domaine du "langage" HTML servant notamment à structurer les pages WEB. Un outil comme WORDpress (et sa documentation) te serait plus utile, vu qu'il est destiné à produire ces pages Web.

Mais pour te répondre, j'ai réalisé ceci.

image

Effectivement, j'ai réalisé différemment que la procédure qu'il faudrait. Il me faudrait retourner dans les bases de la structure HTML qui préconiserait de créer une séparation du conteneur (le corps de la page) par deux blocs distincts. Mais les vacances étant terminées, j'aurais peu de temps pour cela.

Mais bon, l'astuce fonctionne.

17menus.zip (894.11 Ko)

Gloria in excelsis ===== > X Cellus.

Il est fort sympa de ta part d'avoir investi ce temps à étudier ma bidouille.

J'ai fait le tour de beaucoup de sites parlant couramment le HTML.

Bien qu'il soit moins compliqué que le Breton, j'ai du mal à tout comprendre.

Cependant j'en ai conclu qu'il est impossible d'avoir une visualisation de plusieurs images à l'horizontale en cas d'ajout de légendes, labels ou boutons……… J'en ai essayé un paquet en vain, et je suis trop vieux pour y passer des années.

Finalement, mon projet consistant à créer ses propres recettes, à moins d'être sot (sotte) il sera choisi une image reconnaissable pour les visualiser, voire les imprimer. (J'utilise "Script Host Object Model" pour adapter les prises de vue)

Par la création de groupe des "MSHTML.HTMLAnchorElement" je récupère tout ce dont j'ai besoin pour gérer les recettes, dont les " href"

En raison du poids maxi des Fichiers joints, et du refus ici de "cjoint", je ne peux pas trop démontrer.

De plus, j'utilise des "Listview" pour récupérer toutes les données des recettes (xlsx ou jpg), mais comme il y a eu un caprice de Bill nous enlevant le " mscomctl.ocx" du System32 ou SysWOW64 + irréparable en 64 bits.

Je ne sais pourquoi, mais cela a été rétabli. Sauf que si la version de l'utilisateur est antérieure, on est fichu.

Je garde donc l'option avec les "figcaption" sur la droite, mais seulement en agissant sur un bouton le demandant.

Dans les image jointe tu verras que le passage de la souris sur une image va en donner son nom. (En bas)

Les labels en haut ne sont là que provisoirement pour m'aider à la création de l'appli.

Tout fonctionne à souhait pour l'instant, ce n'est qu'un caprice de papy qui, comme a son habitude, focalise trop sur la présentation de ses boites de dialogue.

Heureusement qu'à mon âge (73), la lassitude surplante l'enthousiasme, car il pourrait avoir un tuyau qui pète.

En vrac, les visualisations :

usf 1 usf 2

Merci encore, et plein de bonnes choses à toi pour ta reprise

Un VBA et un HTML s'aimaient d'Amour tendre, mais comment s'y prendre quand l'on ne parle pas la même langue.

On fait un mélange façon "Kig Ha Farz" à la Bretonne, en ménageant le lard et le cochon. (C'est vraiment choux)

Je ne baragouine pas (Bara Gwin pain et vin, mais pas en vain !!!)

Je ne vais certes pas remplir un stade de "Excel-pratique" avec ma cuisine, mais je vous en livre cependant ma vaisselle.

Les procédures sont d'une simplicité extrême (Je pense). Et que les supporters du premier rang pourront sortir leurs banderoles. (Gwenn ha du conseillé)

Le placement du Frame doit être corrigé en fonction de son survol. Mais je n'ai pas voulu ajouter les calculs qui ne peuvent échapper à des conditions nombreuses.

Le "IIF" me semble sympa à exploiter. Ici, il sert à annihiler ou non son déplacement.

Le premier click sur l'image de la rubrique le bloque, et un deuxième le libère. Beurk ! Il laisse sa trace comme un Rafale.

J'ai mis les "DrawBuffers" à 1000000, mais cela ne suffit pas. (On ne peut cependant pas aller beaucoup plus loin)

Peut-être une temporisation genre "DoEvents". Je verrai plus tard.

Si cela amuse quelqu'un à participer, je suis disponible dans la page, ou en MP.

Bonjour ou Bonsoir voire kenavo à ceux qui seront passés par ici.

21legendes-web.zip (951.53 Ko)

Nota Bene relatif à mon exemple ci-dessus.

Il faut traduire les points en pixels (=> x 0.75)

Bonjour

Certes j'ai sans doute lu en diagonal, mais je n'ai pas compris si tu cherches à créer des pages html ou à les décoder...

Bonjour ou Bonsoir suivant l'heure à qui passera par là.

Merci 78chris d'avoir regardé et répondu.

Je ne cherche pas à travailler le HTML, bien que X cellus m'ait donné l'adresse fort intéressante de WordPress

Je me cantonne au VBA, et en l'occurrence, je suis infichu d'écrire la moindre formule dans une feuille Excel

La touche "HTML" dans mon VBAProject n'est là que pour la rapidité ainsi que je l'ai expliqué ci-dessus.

Ne parvenant pas à mettre des légendes sous les images, en ayant 3 ou 4 horizontalement je contourne.

Mon application est beaucoup plus copieuse, car outre ce que j'ai écrit ci-avant, il y a moult fonctions difficilement gérables en HTML

Ex: Je vais faire mes courses jeudi prochain, soit 7 repas à prévoir. Je vais pouvoir éditer la liste des ingrédients nécessaires, ainsi que le temps à prévoir. (Je sais notamment qu'ayant une marinade et du pain viennois de prévus, je dois m'y prendre la veille… Et c.)

Bonne fin de semaine à vous

De répondre en posant des questions fait certes indirectement avancer.

Mais des solutions sauraient bien plus m'aider.

Voici ma dernière sollicitation :

Comment récupérer dans mon exemple l'Abscisse et la Coordonnée de l'Object Image dans la page.

Ceci me permettrait de positionner le Frame ou autre contrôle juste à droite et en bas de sa position.

Est-il possible d'ajouter un tag aux images, pour le récupérer et exploiter par la suite via le x et y

Après cela, je vous laisse tranquilles en vous disant "Merci"

Bonjour ou Bonsoir suivant l'heure à ceux qui passeront sur ce sentier

13info-qui-bulle.zip (919.83 Ko)

Comme le CSS me file des boutons, je les utilise ici.

Je livre ma bidouille un peu Html incorrecte, mais qui sait ? Cela pourrait amuser.

Puisque les objets ont la pudeur de cacher leur position et refusent qu'on les "tag",......... j'abandonne mes poursuites.

Je vais regarder du côté Forum VBA, si je peux être utile à quelqu'un (Mais sans HTML ! Of "Courses")

Kenavo et Bonne route à tous

Rechercher des sujets similaires à "mise page images webbrowser"