IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

IE Alimenter un élément et click bouton définis dans une <form> [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Sans
    Inscrit en
    Novembre 2015
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Novembre 2015
    Messages : 92
    Par défaut IE Alimenter un élément et click bouton définis dans une <form>
    Bonjour,

    J'essaie de piloter une page web depuis VBA.
    La page est affichée, code ci-dessous. Tu peux l'exécuter pour l'afficher.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    37
    38
    39
    40
    41
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Modification de photo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    	<table width="737" align="center">
    		<tr><td><style type="text/css">
    <!--
    .style1 {
    	font-family: Arial, Helvetica, sans-serif;
    	font-size:12px;
    	color: #8C8C8C;
    	text-decoration:none;
    }
    -->
    </style>
     
    <a href="https://www.cistes.net"><img src="images/fr/navigation/rappel.jpg" width="737" height="98" alt="cistes.net" border="0"></a>
    </td></tr>
    		<tr><td>
    		<p align="center"><font face="Arial" size="4">Modification de la photo d'une ciste</font></p>
    		<p align="center"><font face="Arial" size="3"><strong>Ciste N° :&nbsp;</strong> 56909 Vrai faux doublon</font></p>
    		<p align="center"><strong><font face="Arial" color="#FF0000"></font></strong></p>
    				<p align="center"><font face="Arial" size="4">Attention : Si cette ciste a une photo, la r&eacute;f&eacute;rence vers celle-ci sera complètement perdue</font></p>
    		<p align="center"><font face="Arial" size="4">Ne vous trompez pas.... Il n'y a pas de retour en arri&egrave;re possible</font></p>
    		<form name="valid" method="post" enctype="multipart/form-data" action="infosmodifphoto.php">
    			<input type="hidden" name="vaction" value="1">
    			<input type="hidden" name="id" value="56909">
    			<p align="center"><font face="Arial" size="3"><strong>Nouvelle image (rappel : 100 Ko max, format jpg ou gif) :&nbsp;</strong></font><input type="file" name="newphoto"></p>
    			<p align="center"><input type="submit" value="Valider" name="Valider"></p>
    		</form>
    				</td></tr>
    	</table>
    <center>
      <p><a href="infoscistesc.php"><img src="../images/fr/navigation/retour.gif" border="0" width="101" height="38" alt=""></a></p>
    </center>
     
    </body>
    </html>
    1. Je n'arrive pas à alimenter l'élément "nouvelle photo" : name="newphoto".
    J'ai utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    fichier = Application.GetOpenFilename("image(*.jpg),*.jpg")
    If Dir(fichier) <> "" Then
        Set DOCelement = IE.Document.getElementsByName("newphoto").Item
        DOCelement.Value = fichier
    End if
    Mais ça ne marche pas.
    newphoto fait partie de la form valid, est-ce pour çà ? Comment coder ?


    2. Puis je souhaite simuler un click sur "Valider", et là j'ai eu beau chercher je n'ai pas trouvé comment faire.
    J'ai essayé plein de choses. Je n'arrive pas à trouver le bon code. Je fais appel à vous pour te tirer de cette impasse.

    Merci d'avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 57
    Par défaut
    Pour la photo, je ne sais pas, mais la dernière fois que j'ai eu ce genre de truc, le bouton valider qui ne fonctionne pas, je m'en suis sorti en soumettant le formulaire ieDocElement.form(0).submit, je crois.

  3. #3
    Membre confirmé
    Homme Profil pro
    Sans
    Inscrit en
    Novembre 2015
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Novembre 2015
    Messages : 92
    Par défaut
    Citation Envoyé par meud007 Voir le message
    Pour la photo, je ne sais pas, mais la dernière fois que j'ai eu ce genre de truc, le bouton valider qui ne fonctionne pas, je m'en suis sorti en soumettant le formulaire ieDocElement.form(0).submit, je crois.
    Salut,
    Non, ça ne marche pas.
    Merci de ta réponse.

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    et pourquoi pas utiliser ce qui est deja en place dans le document html ??????????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IE.document.getelementsbyname("newphoto")(0).Click'la boite de dialogue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IE.document.getelementsbyname("Valider")(0).Click' le bouton valider
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre confirmé
    Homme Profil pro
    Sans
    Inscrit en
    Novembre 2015
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Novembre 2015
    Messages : 92
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    re
    et pourquoi pas utiliser ce qui est deja en place dans le document html ??????????

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IE.document.getelementsbyname("newphoto")(0).Click'la boite de dialogue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IE.document.getelementsbyname("Valider")(0).Click' le bouton valider
    Alors là, j'en reste coi, je n'avais pas du tout pensé à cette solution
    On distingue tout de suite les pros et les amateurs.
    En tout cas merci beaucoup.

  6. #6
    Membre confirmé
    Homme Profil pro
    Sans
    Inscrit en
    Novembre 2015
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Novembre 2015
    Messages : 92
    Par défaut Non résolu en fait
    Bon, la technique est bonne, mais ça ne convient pas à mon enchaînement.
    Je veux une sélection de fichier, puis afficher l'image avant de valider.

    Tout d'abord le fichier retourné par l'appel IE.Document.getelementsbyname("newphoto")(0).Click donne un path au format "c:/fakepath/fichier.jpg
    Mes recherches m'ont indiqué que c'est par sécurité afin que le serveur ne connaisse pas le système de fichier du client. On peut résoudre cela en modifiant les paramètres d'Internet Explorer, mais ça diminue la sécurité et je ne crois pas que ce soit accepté. Donc il me faut utiliser Application.GetOpenFilename et en retour alimenter newimage.
    Retour au problème initial, quelle syntaxe pour mettre le fichier choisi dans l'item ("newphoto") (0) sachant que IE.Document.getelementsbyname("newphoto")(0).value ne fait rien.

    Je complète mon topo. Au retour de l'appel IE.Document.getelementsbyname("newphoto")(0).Click, la page affiche le VRAI chemin du fichier et non pas fakepath. N'est-il pas possible de le récupérer ?

    Je vous sollicite donc à nouveau.
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT] Réutiliser une variable définie dans une boucle
    Par DelphLaga dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/10/2006, 16h49
  2. Bouton "quitter" dans une forme vb6
    Par lebienestrare dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/09/2006, 17h32
  3. [SWING] Bouton "Parcourir" dans une JTable
    Par schniouf dans le forum Composants
    Réponses: 1
    Dernier message: 01/09/2006, 13h40
  4. [FLASH 8] Changer label bouton dynamiquement dans une boucle
    Par Malau dans le forum ActionScript 1 & ActionScript 2
    Réponses: 5
    Dernier message: 03/05/2006, 16h55
  5. [C#] Lier des boutons radio dans une application mobile
    Par Loïc56 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/04/2005, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo