Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2011, 09h09   #1
Membre du Club
 
Avatar de m@tix
 
Inscription : octobre 2006
Messages : 290
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 290
Points : 42
Points : 42
Par défaut Graphique sur popup html

Bonjour,

A partir d'un graphe présent sur une feuille graphique, je cherche à l'afficher sur une popup html. Pour ce faire, je me suis aidé de la FAQ présente sur le site (ici).

A l'exécution, la fenêtre de IE s'affiche bien, mais à la place de l'image, je retrouve un petit icône rouge bleu et vert en haut à gauche de la page, comme quand l'image ne peut être affichée. Comment peut-on résoudre cela ?

Merci d'avance.
m@tix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 21h45   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Quel est ton système d'exploitation ?
le fichier image est-il créé sur ton disque ?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 00h11   #3
Membre du Club
 
Avatar de m@tix
 
Inscription : octobre 2006
Messages : 290
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 290
Points : 42
Points : 42
L'OS sur lequel je traite le fichier est Vista. Mais maintenant que j'y pense, je me suis certainement trompé d'emplacement pour l'enregistrement de l'image !

Juste une petite question subsidiaire: j'hésite entre afficher mon graphe sur une fenêtre IE ou sur un userform (je suis parvenu à le faire). Y-a-t-il des avantages / inconvénients l'un par rapport à l'autre ?

Finalement je ne m'étais pas trompé, j'avais bien mis un chemin pour enregistrer l'image menant sur mon disque dur... Le problème reste entier.

Je suis curieux de savoir pourquoi ça ne passe pas... Puis-je vous fournir mon fichier (tout simple) exemple pour que vous constatiez les faits ?
m@tix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 17h58   #4
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut heu

bonjour

quelle methode utilise tu pour enregistrer ton image sur le disque dur?

le code pour l'afficher sur ta page html c'est quoi?

sujet interréssant!

au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 18h07   #5
Membre du Club
 
Avatar de m@tix
 
Inscription : octobre 2006
Messages : 290
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 290
Points : 42
Points : 42
Bonjour !

Voici le code que j'ai mis:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Private Sub Chart_Activate()
 
Dim nomImage As String
Dim IE As Object
Dim Hauteur As Single, Largeur As Single
 
nomImage = "CHEMIN_COMPLET_IMAGE.bmp"
 
If Dir(nomImage) <> "" Then
 
    Kill nomImage
 
End If
 
 
ActiveChart.Export nomImage, "BMP"
 
 
Set IE = CreateObject("InternetExplorer.application")
 
IE.navigate "about:blank"
IE.addressbar = False
IE.MenuBar = False
IE.StatusBar = False
IE.Toolbar = False
IE.Width = 1000
IE.Height = 700
IE.Left = 120
 
IE.document.body.innerHTML = "<html><IMG SRC='" & nomImage & "'</html>"
 
IE.Visible = True
 
Kill nomImage
 
End Sub
m@tix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 18h22   #6
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

re
oui c'est bien ce que je pensais


le nomimage contient -il le chemin?

en plus de ca je n'en suis pas sur mais tu ne cré pas un document html mais une instance de internet explorer avec un page blanche
Code :
Set IE = CreateObject("InternetExplorer.application")
donc quand tu dis

Code :
IE.document.body.innerHTML = "<html><IMG SRC='" & nomImage & "'</html>"
le ie.document jusque a preuve du contraire n'existe pas

du moins il me semble mais encore une fois je ne suis pas sur !!!
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 18h29   #7
Membre du Club
 
Avatar de m@tix
 
Inscription : octobre 2006
Messages : 290
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 290
Points : 42
Points : 42
Le nomImage contient bien le chemin en effet. Pourquoi ?

Quant au reste, je ne sais pas trop, je ne m'y connais pas vraiment en html... Ce qui est sûr, ce qu'une page de IE s'ouvre en tout cas !
Et d'un autre côté, je ne veux pas vraiment créer de doc html, une simple instance comme tu dis me suffit.
m@tix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 18h52   #8
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Procède par étape : l'image est-elle crée sur ton disque ?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 18h55   #9
Membre du Club
 
Avatar de m@tix
 
Inscription : octobre 2006
Messages : 290
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 290
Points : 42
Points : 42
Citation:
Envoyé par bbil Voir le message
Procède par étape : l'image est-elle crée sur ton disque ?
Tout à fait.
m@tix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 19h06   #10
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

re

pourquoi ne crérais tu pas directement une page html
en créant un fichier text avec une extention "html"
et apres tu pourais l'ouvrir avec navigate et chemin de ta page

ensuite il me viens une reflection y a t-il que le graphe dans ta page html

pourquoi a tu decidé de la faire en html ?




au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 19h14   #11
Membre du Club
 
Avatar de m@tix
 
Inscription : octobre 2006
Messages : 290
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 290
Points : 42
Points : 42
Citation:
Envoyé par patricktoulon Voir le message
pourquoi ne crérais tu pas directement une page html
en créant un fichier text avec une extention "html"
et apres tu pourais l'ouvrir avec navigate et chemin de ta page
J'ignore comment faire...

Citation:
Envoyé par patricktoulon Voir le message
ensuite il me viens une reflection y a-t-il que le graphe dans ta page html
Oui, uniquement !

Citation:
Envoyé par patricktoulon Voir le message
pourquoi a tu decidé de la faire en html ?
Pour tester avant tout. Mais aussi, je voulais comparer la vitesse d'affichage avec la même chose fait sur un userform.

bbil, quelle est la prochaine étape ?
m@tix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 23h17   #12
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Ben, je comprends pas le Kill NomImage rajouté à la fin ... il semble aussi qu'il manque un la fermeture de la balise image ">" ...

mais bon malgré cela, ça ne fonctionne pas c'est peu-être un problème de sécurité des "nouvelles" versions d'IE...
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2011, 13h56   #13
Membre du Club
 
Avatar de m@tix
 
Inscription : octobre 2006
Messages : 290
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 290
Points : 42
Points : 42
Peut-être en demandant sur le forum html ? Ou ce sera considéré comme un doublon ?
m@tix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2011, 14h50   #14
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Le truc c'est que suis pas sur que ce soit un problème HTML... si tu crée un fichier .html contenant les lignes de codes html générées le fichier html "fonctionne"..

[edit]

tiens peu-être une solution avec un IFRAME :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Private Sub Chart_Activate()
 
Dim nomImage As String
Dim IE As Object
Dim Hauteur As Single, Largeur As Single
 
nomImage = "d:\Cache\imag.jpg"
 
If Dir(nomImage) <> "" Then
 
    Kill nomImage
 
End If
 
 
ActiveChart.Export nomImage, "JPG"
 
 
Set IE = CreateObject("InternetExplorer.application")
 
IE.navigate "about:blank"
IE.addressbar = False
IE.MenuBar = False
IE.StatusBar = False
IE.Toolbar = False
IE.Width = 1100
IE.Height = 800
IE.Left = 120
Do While IE.Busy
    DoEvents
Loop
IE.Document.Body.InnerHTML = "<IFRAME src='" & nomImage & "' Width=1000 Height=700 Frameborder=0> </IFRAME>"
IE.Visible = True
End Sub
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2011, 15h43   #15
Membre du Club
 
Avatar de m@tix
 
Inscription : octobre 2006
Messages : 290
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 290
Points : 42
Points : 42
Citation:
Envoyé par bbil
Ben, je comprends pas le Kill NomImage rajouté à la fin ...
C'était pour ne plus que l'image temporaire traîne sur mon disque après affichage.

Citation:
Envoyé par bbil
tiens peu-être une solution avec un IFRAME
Là ça fonctionne ! Merci beaucoup. Tu m'expliques stp ?

Au passage, si je souhaite que la page IE s'affiche en plein écran et que mon image remplisse la fenêtre, comment on fait ?

Et tant que j'y pense, dernier point: pour mettre une image de fond, c'est pas en jouant sur body background ?

Perso, tu penses qu'un affichage html serait plus rapide qu'un affichage de userform (pas mal d'instructions avant d'afficher) ?

Merci !
m@tix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2011, 15h58   #16
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Pour l'IFRAME c'est la solution que j'ai trouvé en faisant des recherches sur DOM , InnerHTML et Images.. ...

pour le plein écran tu devrais, et la taille de l'image fait une recherche sur le pilotage d'IE en DOM et la taille des images en HTML


pour ce qui est de la rapidité je doute que tu gagne du temps avec cette solution qui demande le lancement supplémentaire d'IE...
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2011, 00h10   #17
Membre du Club
 
Avatar de m@tix
 
Inscription : octobre 2006
Messages : 290
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 290
Points : 42
Points : 42
Ok, merci beaucoup pour tous tes conseils bbil, je vais faire quelques recherches complémentaires.

Pour ce qui est de l'affichage sous IE, j'avoue que c'était plus par curiosité qu'autre chose aussi.

Bonne soirée !
m@tix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h51.


 
 
 
 
Partenaires

Hébergement Web