Via VBA, j'utilise un Webbrowser. mais...
Ferméyg_be Messages postés 23295 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 octobre 2024 - 1 juil. 2023 à 19:50
- Via VBA, j'utilise un Webbrowser. mais...
- Comment savoir si quelqu'un utilise mon adresse ip - Guide
- Comment utiliser un chromecast - Guide
- Vous avez utilisé ce numéro de téléphone à de trop nombreuses reprises - Forum Gmail
- Votre pc ne peut pas utiliser un autre écran ✓ - Forum Montage et acquisition vidéo
- Nom de périphérique local déjà utilisé ✓ - Forum Réseau
10 réponses
24 juin 2023 à 10:37
bonjour,
tu veux savoir quelle est la syntaxe html pour ajouter des infobulles?
24 juin 2023 à 12:32
Merci yg_be d'avoir pris la peine de me répondre.
Effectivement, je cherche à savoir comment créer des infobulles.
Je préfèrerais une légende sous les photos, mais il me semble, après mes recherches, que cela soit impossible.
Au plaisir de te lire si tu as une solution.
As-tu téléchargé mon dossier exemple?
24 juin 2023 à 14:21
Partage plutôt ici le contenu de ton fichier html.
24 juin 2023 à 14:58
Je pense qu'il serait plus facile de télécharger mon exemple déposé sur Cjoint.
Cependant, je vais voir comment partager le contenu ici.
Pardon de ne pas encore savoir manipuler les outils du Forum.
A plus tard
24 juin 2023 à 17:07
c'est le contenu du fichier PAGE_HTML.html qui nous est utile.
24 juin 2023 à 17:41
Bonjour, et encore Merci d'avoir regardé.
Je pense qu'il sera difficile d'aboutir sans que mon Dossier déposé soit consulté, et éventuellement modifié.
Le Fichier "PAGE_HTML" n'existe pas au départ dans le dossier parent. Il n'est créé que par ma macro d'initialisation.
Je joins cependant ce que je puis, mais doutant que cela puisse faire avancer les choses.
Je ne serai pas vexé ni désolé qu'il ne me soit pas apporté de réponses concrètes.
Par ailleurs, il est certain que si je vois un sujet où je puisse aider, je n'y manquerai pas.
Bonne fin de semaine à vous
24 juin 2023 à 17:44
Modifié le 24 juin 2023 à 15:25
' Dans l'USF "ALBUM" avec Controls Webbrowser et Listbox
Option Compare Text
Dim PAGE_HTML As HTMLDocument
Private Sub UserForm_Activate()
Open ThisWorkbook.Path & "\PAGE_HTML.html" For Output As #1
For i = 0 To ALBUM.ListBox1.ListCount - 1
CONDIMENT = ALBUM.ListBox1.List(i, 0) ' Le nom du Fichier avec son extension
ADRESSE = ALBUM.ListBox1.List(i, 1) 'Le Path complet
Call REDACTION_DE_LA_PAGE_HTML
Next i
Close #1 'Sinon il y a une redondance à une nouvelle ouverture de l'USF
WebBrowser1.Navigate ThisWorkbook.Path & "\PAGE_HTML.html"
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Call CREATION_DU_GROUPE
End Sub
Sub CREATION_DU_GROUPE()
Dim GROUPE_VIGNETTES As CLICK_VIGNETTES
Dim i As Integer
Dim VIGNETTES As HTMLAnchorElement
Set GROUPE = New Collection
Set PAGE_HTML = WebBrowser1.Document
For i = 0 To PAGE_HTML.Links.Length - 1
Set VIGNETTES = PAGE_HTML.Links.Item(i)
Set GROUPE_VIGNETTES = New CLICK_VIGNETTES
Set GROUPE_VIGNETTES.TRUC = VIGNETTES
GROUPE.Add GROUPE_VIGNETTES
Next i
End Sub
' Dans un module Ordinaire
Option Compare Text
Sub REDACTION_DE_LA_PAGE_HTML()
Print #1, "<A href='" & ADRESSE & "'>"
Print #1, "<IMG WIDTH=250 HEIGHT=250 SRC='" _
& ADRESSE & "'ALT='" & CONDIMENT & "'></IMG></A>"
End Sub
'Dans un module ordinaire:
Public DOSSIER_CHOISI As String
Public GROUPE As Collection
Public CONDIMENT As String
Public ADRESSE As String
'Dans un Module de Classe:
Public WithEvents TRUC As MSHTML.HTMLAnchorElement
Private Function TRUC_onclick() As Boolean ' Ceci empêche de voir l'image en grand par suite à un Click
End Function
Private Sub TRUC_onmousemove() 'Quand Survol
ALBUM.Label1.Caption = Mid(Replace(TRUC.href, "%20", " "), InStrRev(Replace(TRUC.href, "%20", " "), "/") + 1)
End Sub
Private Sub TRUC_onmousedown() ' Quand Click
ALBUM.Label1.Caption = Mid(Replace(TRUC.href, "%20", " "), InStrRev(Replace(TRUC.href, "%20", " "), "/") + 1)
ALBUM.Label2.Caption = "Vous avez choisi : " & Split(ALBUM.Label1.Caption, ".")(0)
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question24 juin 2023 à 15:37
J'ai oublié de noter qu'à partir de "
Public WithEvents TRUC As MSHTML.HTMLAnchorElement"
Le code est dans un Module de Classe
24 juin 2023 à 20:08
Bonjour,
Ce que tu cherches c'est l'attribut TITLE ( pour l'infobulle )
https://www.w3schools.com/tags/att_global_title.asp
Et le "caption" pour pouvoir mettre un texte à ton image
https://www.w3schools.com/tags/tag_figcaption.asp
Modifié le 24 juin 2023 à 21:38
1
Bonsoir ou Bonjour suivant l'heure Jordane45
Cela me semble plus concret comme réponse.
Mais étant totalement néophyte en langage HTML (Malgré mes 73 balais) ,
je suis infichu de comprendre où et comment incorporer ces codes dans mes procédures.
A moins que la lassitude me gagne comme elle est en train de commencer,
je vais tenter quelques tests, tout en ayant peu d'espoir.
Recevoir mon VBAProject rectifié m'aurait bien aidé, mais ………
Grand Merci cependant pour ces liens intéressants et certes instructifs pour qui sait comprendre.
(Je sais faire un max en VBA, mais là, je patine grave)
Modifié le 24 juin 2023 à 21:57
Sub REDACTION_DE_LA_PAGE_HTML() Print #1, "<A href='" & ADRESSE & "'>" Print #1, "<figure><IMG WIDTH=250 HEIGHT=250 SRC='" _ & ADRESSE & "'ALT='" & CONDIMENT & "' title='" _ & CONDIMENT & "'></IMG> <figcaption>TRUC MACHIN CHOSE.</figcaption></figure></A>" End Sub
25 juin 2023 à 14:10
Bonjour ou Bonsoir à ceux qui passeront par ici
Merci encore Jordane45 pour ton aide.
Grace à ton exemple, j'ai avancé un peu sur mon projet en apportant certaines modifications.
Le module "REDACTION_PAGE_HTML" est supprimé mais incorporé à l'ouverture de l'USF.
Ceci évite des variables "Public" fastidieuses.
Il me reste deux choses à régler :
_ La mise en forme du texte, (Police et taille). La couleur Black semblant déjà acquise.
Et ce qui est le plus important :
_ Retrouver 4 images sur une largeur de la page, au lieu d'une seule.
Nota bene : Je l'avais automatiquement sur mon projet initial, mais cela ne l'est plus.
Il me reste aussi à mettre à ma sauce le module de classe qui n'est pas de moi,
et qui ne correspond pas à ce que j'ai l'habitude de faire.
Ne voulant pas abuser de votre gentillesse, je vais fouiner du côté des liens donnés par Jordane45
Étant depuis toujours obsédé par la simplification des procédures, je suis heureux que mon VBAProject se résume ainsi :
' Dans l'USF "ALBUM" avec Controls Webbrowser (H = 330, W = 546) et Listbox visible ou non
Option Compare Text
Dim PAGE_HTML As HTMLDocument
Private Sub UserForm_Activate()
Open ThisWorkbook.Path & "\PAGE_HTML.html" For Output As #1
For i = 0 To ALBUM.ListBox1.ListCount - 1
CONDIMENT = ALBUM.ListBox1.List(i, 0) ' Le nom du Fichier avec son extension
ADRESSE = ALBUM.ListBox1.List(i, 1) 'Le Path complet
Print #1, "<A href='" & ADRESSE & "'>"
Print #1, "<IMG WIDTH=250 HEIGHT=250 SRC='" _
& ADRESSE & "'ALT='" & CONDIMENT & "'></A>"
Print #1, "<figcaption> "; Split(ALBUM.ListBox1.List(i, 0), ".")(0); " </figcaption></figure></A>"
Next i
Close #1 'Sinon il y a une redondance à une nouvelle ouverture de l'USF
WebBrowser1.Navigate ThisWorkbook.Path & "\PAGE_HTML.html"
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Call CREATION_DU_GROUPE
End Sub
Sub CREATION_DU_GROUPE()
Dim GROUPE_VIGNETTES As CLICK_VIGNETTES
Dim i As Integer
Dim VIGNETTES As HTMLAnchorElement
Set GROUPE = New Collection
Set PAGE_HTML = WebBrowser1.Document
For i = 0 To PAGE_HTML.Links.Length - 1
Set VIGNETTES = PAGE_HTML.Links.Item(i)
Set GROUPE_VIGNETTES = New CLICK_VIGNETTES
Set GROUPE_VIGNETTES.TRUC = VIGNETTES
GROUPE.Add GROUPE_VIGNETTES
Next i
End Sub
En variables Public, il ne me reste qu "DOSSIER_CHOISI" et "GROUPE"
Bonne fin de semaine à tous
Modifié le 26 juin 2023 à 18:31
Fin
Bonsoir ou Bonjour suivant l'heure à tous, et en particulier à Jordane45 qui m'ont donné signe de vie.
Je suis passé de la ListBox à la Listview qui est bien plus confortable pour moi.
Cependant, comme dans certaine version le "Windows\SysWOW64" est déplacé, et que le "mscomctl.ocx" n'est plus efficient, et que sous 64 bits. Il y a un bordel incommensurable pour référencer " Microsoft Windows common controls 6.0 (sp6)", il est inutile que je joigne autre morceau de mes essais.
J'ai bien aidé sur autres Forums en rectifiant les Classeurs transmis par des demandeurs. (Env 3300 Posts)
Comme un croquis vaut bien mieux souvent qu'un long discourt, j'avais pensé utile de déposer mon Dossier test sur Cjoint. Puisqu'en une ou deux lignes de modification ou complément, l'affaire aurait été résolue de cette façon.
Je respecte le fait que vous privilégiez fournir un lien où je puisse passer mes heures de loisir à fouiner.
J'abandonne donc mon projet, et reviens à ma création dynamique d'images et de Labels dans un Multipage.
C'est qq secondes de plus lent, mais pas grave mes utilisateurs s'y feront.
Merci encore, et Bravo de savoir vous appliquer à partager vos compétences sur ce Forum
Bonne suite à vous.
1 juil. 2023 à 16:57
1 juil. 2023 à 19:50
Les infobulles ne fonctionnent pas?