Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 07/07/2011, 19h04   #1
Invité de passage
 
Homme na
Responsable de projet fonctionnel
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme na
Localisation : France

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 1
Points : 1
Par défaut Confirm javascrip par VBA

Bonjour

Je manipule des pages html sous VBA Acces pour saisir/modifier des données d'une base en réseau.
Lorsque je simule le clic sur un bouton d'une page html qui valide une modification par un Obj.click, une boite de dialogue de confirmation s'ouvre avec des boutons OK et Annuler
Mais je ne sais comment confirmer car je ne peux même pas faire, au pire, un sendkey "{enter}" car, et je l'ai vérifié en pas à pas, l'exécution du code VBA est bloquée. Il se poursuit si je clique à la main sur le OK de cette boite.

Le bouton de validation de la page html possède le code suivant onclick="javascript:modificationdonnée()"/

Cette fonction javascript "modificationdonnée()" active la boite de dialogue par :

Code :
1
2
if(confirm('Etes-vous sûr de vouloir modifier la donnée?')){
				 	doAction(this.document.ModificationDonneeForm,'VALIDER')
Comment débloquer VBA et Confirmer ?

Merci d'avance
MC
MCamp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 09h00   #2
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 805
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 805
Points : 3 003
Points : 3 003
Bonjour,

Je ne voudrai pas jouer les pessimistes, mais à mon avis, tu ne peux rien faire, car le javascript est interprété sur le poste client par le navigateur, et pour des raisons évidentes de sécurité, et heureusement, on ne peut pas y accéder.
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 11h34   #3
Invité de passage
 
Homme na
Responsable de projet fonctionnel
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme na
Localisation : France

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 1
Points : 1
Citation:
Envoyé par pc75 Voir le message
Bonjour,

Je ne voudrai pas jouer les pessimistes, mais à mon avis, tu ne peux rien faire, car le javascript est interprété sur le poste client par le navigateur, et pour des raisons évidentes de sécurité, et heureusement, on ne peut pas y accéder.
Merci PC75, et il n'y aurait pas moyen de lancer directement ce "confirm" javascript depuis VBA avec un paramètre OK ?
(Je sais je rêve un peu :-) )
MCamp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 12h10   #4
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 805
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 805
Points : 3 003
Points : 3 003
Re,

Peux-tu poster l'intégralité de la fonction javascript ?
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 13h07   #5
Invité de passage
 
Homme na
Responsable de projet fonctionnel
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme na
Localisation : France

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 1
Points : 1
Donc le bouton appelle sur clic la fonction modificationdonnee

<td align="right"><input type="button" value="Valider"
onclick="javascript:modificationdonnee()"/>

Donc voici le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function modificationdonnee(){
	          	if(verifierParametre(TYPE_NUM, true, "SeuilID", "Seuil") == false) return false;
				if(verifierParametre(TYPE_NUM, true, "PrioriteID", "Priorite") == false) return false;
 
		        var seuilVal = parseInt(document.getElementById("SeuilID").value);
				if(seuilVal < 0 || seuilVal > 100) {
					alert("Les données saisies sont incorrectes : Seuil [" + seuilVal + "] doit être compris entre 0 et 100 inclus.");
					return false;
				}
 
	 			// confirmation de la modification
				 if (confirm('Etes-vous sûr de vouloir modifier la donnee ?')){
				 	doAction(this.document.ModificationdonneeForm,'VALIDER')
				 }
				 return true;
MCamp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 13h39   #6
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 805
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 805
Points : 3 003
Points : 3 003
OK,

Donc quand on clique sur OK pour confirmer, c'est la fonction doAction() qui est appelée.

Peux-tu poster le code de cette fonction ?
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 18h56   #7
Invité de passage
 
Homme na
Responsable de projet fonctionnel
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme na
Localisation : France

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 1
Points : 1
Je précise avant que je connais mal java script.
Le bouton dont on parle est dans un form ModificationdonneeForm
sur clic il appelle la fonction modificationdonne ci dessus qui vérifie les données et lance la boite de confirmation dont le OK provoque ce doaction du form initial ModificationdonneeForm avec cette espece variable 'valider'

Je poste au moins le début (action et premiers inputs cachés) du form

Code :
1
2
3
<form name="ModificationdonneeForm" method="post" action="/trans_Web/action.modificationdonnee.do;jsessionid=xxx">
    <input type="hidden" name="actionField" value="">
	<input type="hidden" name="choixTri" value="">
Il suffit peut être que je bypasse le clic et lance directement l'envoi du formulaire avec 'valider' dans l'input actionfield (je vais essayer de trouver comment faire lundi)
MCamp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 15h49   #8
Invité de passage
 
Homme na
Responsable de projet fonctionnel
Inscription : juillet 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme na
Localisation : France

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : juillet 2011
Messages : 5
Points : 1
Points : 1
Par défaut résolution

Bon après réflexion intense sur la plage j'ai trouvé la solution : en fait c'est directement le doaction qu'il faut lancer par :
doc.parentWindow.execScript "javascript:doAction (this.document.ModificationDonneeForm,'VALIDER')", "Javascript"

On peut ainsi lancer toutes sortes de chose et même une action lancée par un clic sur un bouton sans avoir à trouver le bouton et faire un obj.click
MCamp 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 04h00.


 
 
 
 
Partenaires

Hébergement Web