SET de champ qui marche en F8 mais pas en F5 [VBA/HTML] - VB/VBA/VBS - Programmation
Marsh Posté le 30-10-2017 à 17:08:26
Bon j'ai fais 1-2 test ..
Code :
|
Programme de test.
Si je fais un stop sur "Set htmlSelectElem = IEDoc.all("summary" )" et que je relance directement c'est ok, sinon ca plante sur "htmlSelectElem.Value = "Test""
Marsh Posté le 30-10-2017 à 17:17:34
Bon si je met un
Code :
|
avant le set c'est ok ... je comprend pas pourquoi, si quelqu'un a une explication je suis preneur.
Marsh Posté le 31-10-2017 à 11:42:59
Bonjour,
c'est juste un problème d'observation du fonctionnement de la page Web, un souci de synchronisation !
Il faut attendre la disponibilité de l'élément avant de l'appeler ! Via IsObject par exemple …
Marsh Posté le 31-10-2017 à 15:40:30
Parfois il n'y a pas d'autre choix d'utiliser une temporisation …
Ne pas oublier aussi la propriété Busy d'IE lors de la boucle d'attente du chargement initial de la page.
Voici un exemple sur ce forum combinant tout ceci.
Au passage dans ton code Is Nothing sur une variable objet est équivalent à IsObject …
Marsh Posté le 30-10-2017 à 11:59:06
Bonjour tout le monde,
J'ai un petit probleme (Sinon je ne serais pas la), J'essaie de remplir un champ dans un formulaire HTML a partir d'un word, jusque la rien de complique.
J'ai presque fini la macro VBA mais je n'arrive pas a set le champ que je veux remplir quand j'execute ma macro avec F5, mais tout marche quand je fais un F8 pour la demarrer ...
Je vous joint la 1er partie ou ca bloque, avec un bout du code HTML de la page.
Si je lance avec F5 la macro s’arrête sur le IEDoc.all("summary4" ).Value = cc.Range et htmlSelectElem reste a nothing en valeur, comme si le set passait a la trap =/
Si vous avez des idées etc, je suis a l’écoute.
Edit: normalement je fais un htmlSelectElem.Value = cc.Range mais je voulais test directement avec le IEDoc.all("summary4" ).
Message édité par lalan28200 le 30-10-2017 à 13:10:36