Remplissage automatique de formulaire
Bonjour à tous !
J'ai créé un tableur excel et je souhaiterai à partir de ce tableur récupérer des données sur internet. Je n'ai accès à ces données qu'en naviguant sur différentes pages et en remplissant un formulaire (ce sont des données bancaires).
J'aimerais savoir s'il est possible de créer un programme (type vbscript ou autre), capable de remplir le formulaire et de faire le chemin tout seul, et executable par une macro.
merci de vos réponses !
J'ai créé un tableur excel et je souhaiterai à partir de ce tableur récupérer des données sur internet. Je n'ai accès à ces données qu'en naviguant sur différentes pages et en remplissant un formulaire (ce sont des données bancaires).
J'aimerais savoir s'il est possible de créer un programme (type vbscript ou autre), capable de remplir le formulaire et de faire le chemin tout seul, et executable par une macro.
merci de vos réponses !
5 réponses
-
ContributeurBonjour,
voilà une piste :
utiliser le control internet explorer de vb ...
bon courage !
JSS-
salut
excuse moi si je suis un boulet, mais tu peux être plus clair ??? (pour info je ne connais que vba pour excel)
en fait, est-il possible via vba d'accéder aux objets internet explorer (formulaires, champ de formulaire) ?
ou faut il faire un executable comme intermédiaire et à ce moment en quel langage ?
merci
-
-
Bonjour,
petit exemple pas très compliqué pour une liliputienne :)
Sous Excel :
/[Alt F11]/Outils/Références...
Cocher : Microsoft Internet Control
*************************************
Public Function NetworkTools() As String
Dim Page As New InternetExplorer
Dim Boucle, Corde, Dum As Integer
Dim Feuille, Plage As String
On Error Resume Next
'Ouverture du navigateur
Page.navigate "http://www.network-tools.com"
Page.Visible = True
Delai (1000) ' Fonction simple de délai
'Positionnement du curseur
For Boucle = 1 To 19
SendKeys "{TAB}", True
Delai (50)
Next Boucle
Delai (20)
SendKeys "{HOME}", True: Delai (50)
SendKeys "+{END}", True: Delai (44)
SendKeys "^c", True: Delai (50)
SendKeys "101.010.101.010", True: Delai (100)
Page.Visible = False
Page.Quit
'Activation du classeur
Workbooks("MonClasseur.xls").Activate
End Function
Lupin -
re :
... j'ai copié/coller une fonction que j'utilise courrament en
y retranchant du code, il y a trop de déclaration...
Or bien que lancé, je ne sais si tu es à l'aise sous vba ? Alors je nettoie et ça donne:
Public Function NetworkTools() As String
Dim Page As New InternetExplorer
'Ouverture du navigateur
Page.navigate "http://www.network-tools.com"
Page.Visible = True
Delai (1000) ' Fonction simple de délai
'Positionnement du curseur
For Boucle = 1 To 19
SendKeys "{TAB}", True
Delai (50)
Next Boucle
Delai (20)
SendKeys "{HOME}", True: Delai (50)
SendKeys "+{END}", True: Delai (44)
SendKeys "^c", True: Delai (50)
SendKeys "101.010.101.010", True: Delai (100)
Page.Visible = False
Page.Quit
'Activation du classeur
Workbooks("MonClasseur.xls").Activate
End Function
Function Delai(Boucle As Integer) As Boolean
Dim Cmpt1, Cmpt2 As Integer
Dim dum As String
For Cmpt1 = 1 To Boucle
For Cmpt2 = 1 To Boucle
dum = "Boucle"
DoEvents
Next Cmpt2
Next Cmpt1
End Function
Lupin
~L'essentiel est invisible pour les yeux~
~On ne voit bien qu'avec le coeur~-
-
@liliputienneBonjour,
tu pourras constater que cette fonction utilise l'instruction
"SendKeys", or en temps machine, envoyer 2 clé successive
par cette instruction est trop rapide, la deuxième risque de
ne pas être interprèté, d'où le délai.
Lupin
~L'essentiel est invisible pour les yeux~
~On ne voit bien qu'avec le coeur~ -
@Utilisateur anonymeUne fonction delai toute simple peut être , mais impossible de mettre la main dessus ;-)
serai t'il possible d'en poster une toute faites
Merci d'avance
-
-
Bonjour,
"Sous Excel :
/[Alt F11]/Outils/Références...
Cocher : Microsoft Internet Control "
Je ne trouve pas cette option a cocher, j'ai une version Excel 2007, est ce que quelqu'un pourrais m'aider , (désolé suis novice en la matière j'apprends :) ) -
tuto ici
http://qwazerty.developpez.com/tutoriels/vba/ie-et-vba-excel/
Merci à lui...