import de données web dans excel

druchmoain

XLDnaute Junior
Bonjour le forum,
je souhaiterai extraire l'historique des performances de chaque cheval d'une course.
je souhaiterai importer des données du site geny
j'aimerais automatiser cela, pour que toutes les perfs des chevaux, s'ouvrent dans ma feuille excel, avec en premier les perfs du cheval N° 1, puis en dessous les perfs du cheval N°2 ...

je cherche depuis 8h sur le forum
sans trouver de réponse à ma question.

fichier joint
 

Pièces jointes

  • Perfs chevaux.xlsx
    20.4 KB · Affichages: 140

druchmoain

XLDnaute Junior
Re : import de données web dans excel

j'aimerai qu'un lien externe(internet) se trouvant dans le fichier excel,
s'ouvre dans celui-ci
je ne sais pas faire.
si quelqu'un pouvait me fournir une macro,
cela serait sympa
je m'y connais un peu sur excel mais les macros ,
pas du tout !

merci d'avance
 

CHALET53

XLDnaute Barbatruc
Re : import de données web dans excel

Bonjour,

je n'ai jamais fait de requête Internet. J'en connais seulement un bout de code (glané sur ce site)

La macro ci-dessous placée dans un module va chercher pour le premier cheval (il est mis en dur)
les infos du site (les 5 premiers : je ne suis pas abonné pour avoir toutes les perfs)

tu le recopies tel quel : c'est un début


Le résultat est dans la feuille 2

Sub Macro1()
Application.ScreenUpdating = False
Sheets("Feuil2").Select
Cells.Select
Selection.ClearContents
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.geny.com/cheval/mister-par-coeur_c377381_h2191850", _
Destination:=Range("$A$1"))
' With ActiveSheet.QueryTables.Add(Connection:= _
' "URL;http://www.bct.gov.tn/bct/siteprod/francais/actualites/cours.jsp", _
Destination:=Range("$A$1"))
.Name = "cours"
.FieldNames = True
.RowNumbers = True
.FillAdjacentFormulas = True
.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:=False
End With
Sheets("Feuil1").Select
Application.ScreenUpdating = True
End Sub
 

CHALET53

XLDnaute Barbatruc
Re : import de données web dans excel

je ne t'ai pas fait la bonne copie (banque de Tunisie: exemple que j'avais trouvé)

Sub Macro1()
Application.ScreenUpdating = False
Sheets("Feuil2").Select
Cells.Select
Selection.ClearContents
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.geny.com/cheval/mister-par-coeur_c377381_h2191850", _
Destination:=Range("$A$1"))
.Name = "cours"
.FieldNames = True
.RowNumbers = True
.FillAdjacentFormulas = True
.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:=False
End With
Sheets("Feuil1").Select
Application.ScreenUpdating = True
End Sub
 

CHALET53

XLDnaute Barbatruc
Re : import de données web dans excel

As-tu testé au moins que cela ouvrait bien, pour le cheval saisi en dur, le site web et transcrivait les infos dans la feuille 2.

Pour le reste c'est vrai, il faut écrire une boucle sur les chevaux de la feuille 1 et là, pour l'instant, je ne vois pas bien la syntaxe à utiliser.

a+
 

druchmoain

XLDnaute Junior
Re : import de données web dans excel

j'ai trouver cela pour mettre le login
mais ça marche pas !

Sub connexion()

'Dim ie As InternetExplorer
Dim IEdoc As Object
Dim DOCelement As Object

Set ie = CreateObject("InternetExplorer.application")
ie.Visible = True
ie.Navigate ("https://www.geny.com/client/login")

' attente de fin de chargement
Do Until ie.ReadyState = 4
DoEvents
Loop

Set IEdoc = ie.Document

'login
Set DOCelement = IEdoc.getElementsByName("txtuid").Item
DOCelement.Value = [xxx] '<-- Ton login ici

'password
Set DOCelement = IEdoc.getElementsByName("txtpwd").Item
DOCelement.Value = [xxx] '<-- Ton mot de passe ici
DOCelement.Select

'connexion
Set DOCelement = IEdoc.Forms(0)
DOCelement.submit

End Sub
 
Dernière édition:

Discussions similaires

Réponses
9
Affichages
440
Réponses
13
Affichages
352

Statistiques des forums

Discussions
312 195
Messages
2 086 082
Membres
103 112
dernier inscrit
cuq-laet