Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
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, 14h20   #1
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
Par défaut Acces et html

Bonjour,

Je connais pas trop Access, j'ai crée un formulaire qui contient un bouton,quand je clique sur ce bouton il ouvre un url (page web).
Moi je veux qu'il ouvre le web,et qu'il clique sur un bouton qui fait l'execution d'un script ( le bouton s'appel executter). Je veux automatiser les choses
Aidez moi

Merci
ibtissam
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 14h23   #2
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Par défaut Automation

Bonjour,

Vous pouvez utiliser la fonction
Code :
Shell(pathname[,windowstyle])
avec le chemin disque de votre explorateur s'il n'est pas ouvert ou plus simplement la fonction
Code :
AppActivate "nom programme"
s'il est ouvert.

La fonction Sendkeys vous permettra de lancer votre bouton Executter, peu élégant mais pratique ...

Bcdt
Florian
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 15h00   #3
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
Merci pour votre réponse.
En faite peut etre que j'etais pas trop claire dans mon sujet oubien j ai pas bien compris votre solution ^^.
En fait moi j'ai un bouton créer dans un formulaire nomé MAJ .Quand je clik sur ce bouton il ouvre une page web.jusqu'à maintenant c'est tout ce qu'il fait.
la page web ( un site internet ) qu'il ouvre contient des boutons,parmis ces boutons il y a une bouton qui s'appel executer. moi je dois cliquer sur ce bouton executer manuellement.
Maintenant je veux que quand je clique sur mon bouton acces MAJ.fait tout ça tout seul.

j'espere que j'etais plus clair
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 15h26   #4
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Sendkeys (cf aide access) vous permettra de cliquer sur ce bouton automatiquement.

Mais si je comprends mieux votre question, il serait plus simple de changer l'url que vous utilisez actuellement à l'ouverture de votre site web par celle de destination finale obtenue après le clic sur le bouton de la page web ...

En espérant que cela vous aide.
Florian
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/07/2011, 15h31   #5
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
Par défaut plusieurs actions

oui,bonne idée.
dans le site,je dois faire plusieurs actions.est ce que c'est possible de faire tout ça dans le meme bouton access?
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 17h07   #6
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Oui, dans l'absolu la fonction Sendkeys est capable de beaucoup de chose, cf liste des touches accessibles dans l'aide.

Vous pouvez envoyer du texte, les touches de fonctions F1, F2... en utilisant plusieurs fois la fonction sendkeys dans le code associé à votre bouton.

Bcdt
Florian
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 10h45   #7
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
Citation:
Envoyé par fbtsra Voir le message
Oui, dans l'absolu la fonction Sendkeys est capable de beaucoup de chose, cf liste des touches accessibles dans l'aide.

Vous pouvez envoyer du texte, les touches de fonctions F1, F2... en utilisant plusieurs fois la fonction sendkeys dans le code associé à votre bouton.

Bcdt
Florian
Merci pour votre réponse.
Je ne vois pas trop coment utiliser Sendkeys.voila une partie de mon code qui permet d'ouvrir le premier url.

Code :
1
2
3
4
5
6
Private Sub executer_Click()
Dim objIE As Variant
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate chemin & "http://etude.fr/"
objIE.Visible = True
End Sub
Ou est ce que je peux inserer senkeys? et ou est ce que je peux inserer les autres URLs?
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 11h09   #8
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
Si c'est possible,je veux aussi savoir comment choisir une valeur dans un menu deroulant dans un site web et appuyer sur le bouton valider à partir du code VBA.
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h00   #9
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Bonjour,

Pour accéder directement à la page Nutrition comme si vous aviez cliqué sur le lien dans la page web :

Option 1 - Indication de l'url directe :

Code :
1
2
3
4
5
6
Private Sub executer_Click()
Dim objIE As Variant
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate chemin & "http://etude.fr/info/Nutrition.html?ses=Y3JlPTEzMTAzOTI1MTQmdGNpZD1ldHVkZS5mcjRlMWIwMGMyMTRlNmIzLjY0NTE5NDIwJmZraT04NDY2NzImdGFzaz1zZWFyY2gmZG9tYWluPWV0dWRlLmZyJnM9MDZhYTIxNTc5Y2RmNWFhNmRkYzAmbGFuZ3VhZ2U9ZnImYV9pZD0z&category=Santé&keyword=Nutrition&token="
objIE.Visible = True
End Sub
Option 2 - Code vba :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub executer_Click()
Dim sngDépart As Single, sngFin As Single
 
Dim objIE As Variant
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "http://etude.fr/"
objIE.Visible = True
 
    sngDépart = Timer
    'Laisse le temps au navigateur de s'ouvrir et de charger la page
    Do Until sngFin > sngDépart + 3
    sngFin = Timer
    Loop
 
AppActivate "Microsoft Internet Explorer"
 
'Envoi de 61 tabulations pour accéder au lien Nutrition puis valide par Enter
SendKeys "{TAB 61}"
SendKeys "{ENTER}"
 
End Sub
Pour dérouler une liste : Accés avec TAB puis déroulement de la liste avec DOWN, choix de l'élément dans la liste avec TAB et validation avec ENTER.

Il doit exister des solutions plus "propres", mais ca fonctionne bien si vous laissez bien le temps aux pages web de s'afficher ...
Bcdt
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h12   #10
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
je comprend pas pq je dois appuyer sur tab.moi je veux appuyer sur rien.une fois je clik sur le bouton sur access.lui il fai tout

Je veux savoir comment choisir une valeur dans un menu deroulant.
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h32   #11
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
Citation:
Envoyé par fbtsra Voir le message
Bonjour,

Pour accéder directement à la page Nutrition comme si vous aviez cliqué sur le lien dans la page web :

Option 1 - Indication de l'url directe :

Code :
1
2
3
4
5
6
Private Sub executer_Click()
Dim objIE As Variant
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate chemin & "http://etude.fr/info/Nutrition.html?ses=Y3JlPTEzMTAzOTI1MTQmdGNpZD1ldHVkZS5mcjRlMWIwMGMyMTRlNmIzLjY0NTE5NDIwJmZraT04NDY2NzImdGFzaz1zZWFyY2gmZG9tYWluPWV0dWRlLmZyJnM9MDZhYTIxNTc5Y2RmNWFhNmRkYzAmbGFuZ3VhZ2U9ZnImYV9pZD0z&category=Santé&keyword=Nutrition&token="
objIE.Visible = True
End Sub
Option 2 - Code vba :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub executer_Click()
Dim sngDépart As Single, sngFin As Single
 
Dim objIE As Variant
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "http://etude.fr/"
objIE.Visible = True
 
    sngDépart = Timer
    'Laisse le temps au navigateur de s'ouvrir et de charger la page
    Do Until sngFin > sngDépart + 3
    sngFin = Timer
    Loop
 
AppActivate "Microsoft Internet Explorer"
 
'Envoi de 61 tabulations pour accéder au lien Nutrition puis valide par Enter
SendKeys "{TAB 61}"
SendKeys "{ENTER}"
 
End Sub
Pour dérouler une liste : Accés avec TAB puis déroulement de la liste avec DOWN, choix de l'élément dans la liste avec TAB et validation avec ENTER.

Il doit exister des solutions plus "propres", mais ca fonctionne bien si vous laissez bien le temps aux pages web de s'afficher ...
Bcdt
SI je fais votre methode,ca reviens au meme,je peux faire ces etapes avec la souris .
moi je veux une methode qui fait les choses automatiquement.par exemple une foi je clique sur le bouton acces,il va ouvrir la page web,il va choisir app dans le menu deroulant et il va faire valider,d'une maniére transparente pour l utilisateur
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h33   #12
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
C'est bien le cas. Prenez le temps de lire l'aide sur ces fonctions et exemple sur le code de mon précédent message. Vous accéderez à votre liste déroulante avec puis déroulerez la liste avec ... d'un seul clic.

Bcdt.
Florian
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h54   #13
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
Private Sub executer_Click()
 
Dim objIE As Object
Dim IE As Object
Dim MaPageHtml As HTMLDocument
Dim Helem As HTMLElementCollection
 
Set objIE = CreateObject("InternetExplorer.Application")
Set IE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
IE.Visible = False
objIE.navigate chemin & "https://etude.fr......"
 
 Do Until objIE.readyState = 4
DoEvents
Loop
 
SendKeys "{TAB 6}"
SendKeys "{down 2}"
SendKeys "{ENTER}"
SendKeys "{TAB}"
SendKeys "{Enter}"
j'ai essayé comme ça mais ce ne marche pas.
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 17h20   #14
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
en faite le : AppActivate "Microsoft Internet Explorer" me renvoie une erreur.
Argument ou appel procédure incorrecte.
c peut être que c'est pour ça ne marche pas mon code?
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 09h59   #15
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
Le probléme est que ça pointe toujours sur la bare d'adresse,meme que je fai plusieur sendkeys { "tab"} oubien sendkeys { "tab" }
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 12h00   #16
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
Meerci beaucoup! c'etait une tres bonne solution.marche bien maintenant .
Mais le probléme quand je met
Code :
1
2
3
4
Set objIE = CreateObject("InternetExplorer.Application")
Set IE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
ça marche tres bien.

Par contre moi je veux pas voir la page web.je veux que l'execution soit virtuel pour l'user.alors je met
Code :
1
2
3
4
Set objIE = CreateObject("InternetExplorer.Application")
Set IE = CreateObject("InternetExplorer.Application")
objIE.Visible = False
Mais il ne s'execute pas correctement. Avez vous des explications?


Voila la solution du 1er probléme( il fallait mettre un compteur):
Code :
1
2
3
4
5
6
7
8
9
10
 
For i = 1 To 8
    SendKeys ("{TAB}"), True
 Next i
 
For j = 0 To 2
    SendKeys "{down}", True
  Next j
SendKeys ("{TAB}"), True
SendKeys ("{Enter}"), True
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 14h30   #17
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Bonjour,

En réponse à vos deux questions : Sendkeys n'est valide que sur la fenêtre active de votre écran, par conséquent :

- le chargement et l'affichage de la page web doivent être intégralement achevés, d'où l'intérêt du Timer, Doevents n'étant pas fiable dans ce cas.

- vous ne pourrez pas utiliser Sendkeys sur une fenêtre non visible, non active ...

Bcdt,
Florian
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 15h13   #18
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
Alors il y a pas un moyen de fermer la fenetre automiquement apres?
et concernant le sendkeys,ça donne pas le meme resultat tout le temps.avec le même code et le meme bouton Access,parfoi il point sur le bon bouton ,parfoi il décale.une solution?
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 15h44   #19
Membre confirmé
 
Homme
Chercheur
Inscription : juin 2011
Messages : 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations professionnelles :
Activité : Chercheur
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : juin 2011
Messages : 150
Points : 231
Points : 231
Résultats différents car la fenêtre n'a pas terminé de s'afficher quand vous envoyer le code Sendkeys ... (ca ne se voit pas à l'oeil nu ...) ... solution utiliser le Timer initial de mon code.

Une nouvelle fois, je ne comprends pas pourquoi vous n'indiqez pas directement l'url finale à l'ouverture de l'explorateur (celle que vous obtenez après choix dans la liste) dans votre code vba ...

Bcdt
fbtsra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 16h18   #20
Futur Membre du Club
 
Homme
Inscription : juillet 2011
Messages : 77
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 77
Points : 18
Points : 18
Citation:
Envoyé par fbtsra Voir le message
Résultats différents car la fenêtre n'a pas terminé de s'afficher quand vous envoyer le code Sendkeys ... (ca ne se voit pas à l'oeil nu ...) ... solution utiliser le Timer initial de mon code.

Une nouvelle fois, je ne comprends pas pourquoi vous n'indiqez pas directement l'url finale à l'ouverture de l'explorateur (celle que vous obtenez après choix dans la liste) dans votre code vba ...

Bcdt

Car l'URL reste le même.il ne change pas pour ttes les instructions du bouton executer
tissam89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h50.


 
 
 
 
Partenaires

Hébergement Web