Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

remplissage formulaire web et recupération des valeurs dans cellules

2 réponses
Avatar
Marc VANSTEELANT
Bonjour,

Je dois créer une application en VBA qui a pour but d'ouvrir un site WEB
contenant un formulaire, remplir certains champs, valider le formulaire de
ce site et enfin récupérer les résultats et les mettre dans des cellules
Excel... Bref, existe-t-il un logiciel pouvant s'interfacer avec Excel pour
ce faire, ou dois-je utiliser les commandes SENDKEYS et prier pour qu'il n'y
ait pas un évenement windows ou autre qui me ferais envoyer mes sequences
clavier on ne sait où...
Voilà, si quelqu'un a une idée sur la chose, je suis preneur,
Merci d'avance,

Marc.

2 réponses

Avatar
FdeCourt
Salut,

Tu as plusieurs solutions :
Passer par les requêtes (données>données externes> requete web) et
passer les champs de ton formulaire en paramètre (par exemple, si tu
fait une requete web avec cette url :

http://www.google.fr/search?hl=fr&q=excel&meta=

tu as bien le résultat de la recherche qui apparaît (après tu peux
faire une macro qui te change les valeurs. Ici, il faudrait changer le
parametre q par ta valeur), et il faut que tu analyse ta page web, et
l'url passé par le formulaire.

Exemple :

Dim query As QueryTable
variable = "excel"
Set query = ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.google.fr/search?hl=fr&q=" & variable &
"&meta=", Destination:=Range( _
"A1"))
With query
.Name = "RechercheGoogle"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:lse
End With

Sinon tu peux aussi essayer en ajoutant le controle WebBrowser dans
VBE.
Tu peux remplir des champs, analyser le code HTML de la page, et
ressortir les informations que tu souhaites sans passer par une feuille
(tu auras dans les archives du newsgroup plusieurs post parlant du
sujet). Et je dois pouvoir retrouver un classeur que j'avais du créé
et qui utilisait les fonctionnalité du controle WebBrowser.


Bonjour,

Je dois créer une application en VBA qui a pour but d'ouvrir un site WEB
contenant un formulaire, remplir certains champs, valider le formulaire de
ce site et enfin récupérer les résultats et les mettre dans des cel lules
Excel... Bref, existe-t-il un logiciel pouvant s'interfacer avec Excel po ur
ce faire, ou dois-je utiliser les commandes SENDKEYS et prier pour qu'il n'y
ait pas un évenement windows ou autre qui me ferais envoyer mes sequenc es
clavier on ne sait où...
Voilà, si quelqu'un a une idée sur la chose, je suis preneur,
Merci d'avance,

Marc.


Avatar
FdeCourt
En simplifiant ta requete :

Dim query As QueryTable
variable = "excel"
Set query = ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.google.fr/search?hl=fr&q=&quot" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.google.fr/search?hl=fr&q=" & variable &
"&meta=", Destination:=Range( _
"A1"))
With query
.Name = "RechercheGoogle"
.Refresh
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
End With

Salut,

Tu as plusieurs solutions :
Passer par les requêtes (données>données externes> requete web) et
passer les champs de ton formulaire en paramètre (par exemple, si tu
fait une requete web avec cette url :

http://www.google.fr/search?hl=fr&q=excel&meta=

tu as bien le résultat de la recherche qui apparaît (après tu peux
faire une macro qui te change les valeurs. Ici, il faudrait changer le
parametre q par ta valeur), et il faut que tu analyse ta page web, et
l'url passé par le formulaire.

Exemple :

Dim query As QueryTable
variable = "excel"
Set query = ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.google.fr/search?hl=fr&q=&quot" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.google.fr/search?hl=fr&q=" & variable &
"&meta=", Destination:=Range( _
"A1"))
With query
.Name = "RechercheGoogle"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:lse
End With

Sinon tu peux aussi essayer en ajoutant le controle WebBrowser dans
VBE.
Tu peux remplir des champs, analyser le code HTML de la page, et
ressortir les informations que tu souhaites sans passer par une feuille
(tu auras dans les archives du newsgroup plusieurs post parlant du
sujet). Et je dois pouvoir retrouver un classeur que j'avais du créé
et qui utilisait les fonctionnalité du controle WebBrowser.


Bonjour,

Je dois créer une application en VBA qui a pour but d'ouvrir un site WEB
contenant un formulaire, remplir certains champs, valider le formulaire de
ce site et enfin récupérer les résultats et les mettre dans des c ellules
Excel... Bref, existe-t-il un logiciel pouvant s'interfacer avec Excel pour
ce faire, ou dois-je utiliser les commandes SENDKEYS et prier pour qu'i l n'y
ait pas un évenement windows ou autre qui me ferais envoyer mes seque nces
clavier on ne sait où...
Voilà, si quelqu'un a une idée sur la chose, je suis preneur,
Merci d'avance,

Marc.