Afficher 1 page html contenant 1 photo au survol d'une cellule

JBon78

XLDnaute Nouveau
Bonjour à tous les experts,
J'ai cherché un peu partout et je ne trouve pas comment faire pour afficher le contenu d'une page html au survol d'une cellule dans Excel.
Mon fichier contient une liste de nom et j'aimerais qu'au survol de chacun d'eux, la photo correspondante qui se trouve dans l'annuaire de l'entreprise accessible via 1 url, s'affiche sous forme de popup (façon "alt" dans une page html), commentaire ou similaire. Parfois cette photo n'existe pas, je dois aussi gérer ce cas.
En PJ, j'ai mis un exemple de rendu que je souhaiterais obtenir.
Merci à vous par avance.
 

Pièces jointes

  • 2013-11-28_094040.png
    2013-11-28_094040.png
    106.9 KB · Affichages: 86

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Afficher 1 page html contenant 1 photo au survol d'une cellule

Bonjour,

ClicCelluleWeb ne fonctionne que pour 2003 (?)

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Intersect([champ], Target) Is Nothing Then
    monurl = Target.Offset(, 1)
    [C2] = monurl
    Call Sheets("feuil1").WebBrowser1.Navigate(monurl)
    Target.Select
    Sheets("feuil1").WebBrowser1.Top = 100 + Cells(ActiveWindow.ScrollRow, 1).Top
  End If
End Sub

http://boisgontierjacques.free.fr/fichiers/Evenementiel/ClicCelluleWeb.xls

JB
 

Pièces jointes

  • Copie de FormListBoxCurseurSurvol.xls
    50.5 KB · Affichages: 66
  • ClicCelluleWeb.xls
    48 KB · Affichages: 60
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Afficher 1 page html contenant 1 photo au survol d'une cellule

Bonjour à tous

J'utilise ce code pour insérer des images dans un commentaire sur le double-click avec le nom de l'image dans la cellule et le nom du dossier en colonne 1. Sur le second double click, il permet de détruire le commentaire.




Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Affiche Image dans le commentaire au double click sur la cellule
'Détruit le commentaire au second double click
'Nom de l'image dans la cellule et nom du dossier contenant l'image en colonne 1.
'Application.EnableEvents = False
Dim DossierFichier As String, ADR
On Error GoTo suite
    ADR = ActiveCell.Address
    X = Range(ADR).Comment.Shape.Name
    If X <> "" Then GoTo suite2 Else GoTo suite
suite:
    NomFich = ActiveCell.Value
    NomDossier = Cells(ActiveCell.Row, 1).Value
    Range(ADR).AddComment
    DossierFichier = NomDossier & "\" & NomFich
    Range(ADR).Comment.Shape.Fill.UserPicture (DossierFichier)
    Range(ADR).Comment.Shape.Width = 360
    Range(ADR).Comment.Shape.Height = 240
    
Range(ADR).Select
GoTo Suite3
suite2:
Range(ADR).Select
Range(ADR).Comment.Delete
Suite3:
Range(ADR).Select
'Application.EnableEvents = True
End Sub

PS: Sinon, sympa JB :) l'idée du Webbrowser .
 

JBon78

XLDnaute Nouveau
Re : Afficher 1 page html contenant 1 photo au survol d'une cellule

Merci à vous pour vos réponses.
Effectivement, avant de venir poser ma question sur ce forum, je me suis imprégné également des multiples exemples de notre "dieu Excel tout puissant" Boisgontier mais, malheureusement je n'y ai pas trouvé exactement ce que je cherchais. Malgré çà, je suis honoré qu'il me réponde en personne.
J'ai regardé le fichier proposé et c'est (presque) çà que je cherche ... sauf qu'un UserForm intermédiaire est utilisé.
En fait, je souhaite la même chose mais qui se produise directement au survol de chaque cellule.
Je sais, je suis exigeant ;)
Mais peut-être n'est-ce tout simplement pas possible ...
Si vous avez d'autres idées, je suis preneur, bien entendu.
Merci par avance
 

JBon78

XLDnaute Nouveau
Re : Afficher 1 page html contenant 1 photo au survol d'une cellule

Merci MJ13.
J'ai déjà trouvé en effet des solutions similaires mais uniquement avec des photos soit directement intégrées dans le classeur, soit sur 1 répertoire local ("C:\mesdocs\etc") ... mais pas avec des urls :(
Le résultat recherché est celui montré par J. Boisgontier dans son fichier "Copie de FormListBoxCurseurSurvol.xls‎" mais sans le UserForm intermédiaire.
J'te jure, je cherche ...
 

MJ13

XLDnaute Barbatruc
Re : Afficher 1 page html contenant 1 photo au survol d'une cellule

Re

Personnellement, je trouve que le survol de la souris risque d'être galère à gérer. Sinon un click droit avec un lien URL pourrait le faire:

ex:

Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
ThisWorkbook.FollowHyperlink ActiveCell.Text
End Sub
 

JBon78

XLDnaute Nouveau
Re : Afficher 1 page html contenant 1 photo au survol d'une cellule

Je sens qu'on s'approche de la solution ...
Merci M. Boisgontier. Le seul problème que je rencontre est que je suis en MS Office 2010 et non 2003 et, effectivement, çà plante à l'exécution (ligne "Call Sheets("Web").WebBrowser1.Navigate(monurl)").
A moins que je doive activer 1 library particulière (laquelle, car j'ai "MIcrosoft Internet Controls" d'activée ?) !
En tous cas, merci pour votre patience et pour votre aide.
 

JBon78

XLDnaute Nouveau
Re : Afficher 1 page html contenant 1 photo au survol d'une cellule

Bonjour à vous,
en fait je confirme que çà fonctionne aussi sur Excel 2010. J'ai fait l'essai hier soir mais j'étais en 2013 :( d'où ma réponse ... précipitée.
C'est quasiment ce que j'attendais sauf que, ayant env. 200 lignes dans ma feuille, le scrolling fait que je perds la visibilité de la shape. D'où mon souhait initial d'avoir plutôt 1 popup ou commentaire ou similaire qui suive la position de la cellule survolée.
J'ai peur que vous finissiez par perdre patience avec cette demande mais, en même temps, je constate que le challenge semble vous motiver ;)
Merci vraiment pour votre abnégation et un gros coup de chapeau à mon voisin Jacques (Ignimontain également).
Appliqué à mon cas, voici ce que donne la macro :
 

Pièces jointes

  • 2013-11-29_083102.png
    2013-11-29_083102.png
    48.7 KB · Affichages: 66
Dernière édition:

david84

XLDnaute Barbatruc
Re : Afficher 1 page html contenant 1 photo au survol d'une cellule

Bonjour à tous, Michel, Jacques,
C'est quasiment ce que j'attendais sauf que, ayant env. 200 lignes dans ma feuille, le scrolling fait que je perds la visibilité de la shape. D'où mon souhait initial d'avoir plutôt 1 popup ou commentaire ou similaire qui suive la position de la cellule survolée.
Il te faut alors régler la position de l'angle supérieur gauche du WebBrowser pour le caler par rapport à la cellule sélectionnée.
En attendant que Jacques repasse par là tu peux tester en l'incluant après
Code:
Range("champ").Cells(1, 1).Offset(Yc, Xc).Interior.ColorIndex = 3
le code suivant
Code:
WebBrowser1.Top = Range("champ").Cells(1, 1).Top + Y
N'oublie pas également de définir la plage "champ" de manière dynamique dans le gestionnaire des noms si tu as besoin de rajouter des données au fur et à mesure (sinon redimensionne cette plage en fonction de tes données) et si nécessaire de redimensionner le Label.
A+
 
Dernière édition:

JBon78

XLDnaute Nouveau
Re : Afficher 1 page html contenant 1 photo au survol d'une cellule

Merci à toi David84, c'est déjà une bonne piste.
Je regarde çà dès lundi (chez moi j'ai Excel 2013, mais c'est au boulot, sur 2010, que çà doit fonctionner !) et vous fait part de ce que çà donne.
Bon WE à vous.
 

Discussions similaires