A patricktoulon
Il va de toutes manières bien falloir réinstaller et enregistrer dans syswow64 de quoi faire accepter la listview.
Sauf à la remplacer également par autre chose.
A patricktoulon
Il va de toutes manières bien falloir réinstaller et enregistrer dans syswow64 de quoi faire accepter la listview.
Sauf à la remplacer également par autre chose.
Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .
****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...
Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
j'ai tous réintaller ainsi dans le dossier syswow64 et rien
donc, comme c'est pas moi qui à fait le fichier, je vais me retrousser mes manche et refaire le code si une personne du forum veuille bien m'aider
Installé comment ? (expose avec précision, geste par geste).j'ai tous réintaller ainsi dans le dossier syswow64 et rien
Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .
****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...
Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
Quelles sont les informations ramenées par cette procédure ?
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub InformationsExcel() Dim BitVersion As Byte BitVersion = Mid(Application.OperatingSystem, InStr(1, Application.OperatingSystem, "(") + 1, 2) MsgBox "La version d'Excel installée est : " & Application.Version & vbCrLf _ & "La version VBE est : " & Application.VBE.Version & vbCrLf _ & "La version bits est : " & BitVersion End Sub
heu... tu a lu le post#5???????
je suis allez voir ce qui corespondait a l'url avec une date sur geny
tu fait exactement la meme chose que sebphyto( turfist a la mort)
donc je te sugere encore une fois d'aller fouiller dans ces posts tu y trouvera nombreuses de mes intervention sur la question
apres il faut quand meme des bases si tu ne les a pas il faut commencer par le debuts et pas t'attaquer au traitement de page web comme geny qui souvent te renvoie dans d'autres etc.......
le boulot sur ces pages est exactement ce que j'avais fait pour sebphyto
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
patrick, en fouillant le forum, je me suis aperçu que tu connaisse 4 site sur le turf et celui qui me concerne est geny
Peut on construire ensemble un fichier de récup infos arrivées et liste des partants sur les courses de plat et obstacle ?
pouvons nous travailler ensemble ?
merci
Bon allez on va allez petit pas par petit pas
puré c'est pas vrazi un nouveau sebphyto
bon
avant tout tu a beaucoup de données a récupérer voila pourquoi une requête s'impose
pourquoi une requête et pas IE
parce que une requête n'a pas d'interface et reproduit a l'identique ce que la page fait quand tu clique quelque part ou que tu load une page web pour t'afficher le contenu
pour cela il te suffit d'aller voir l'inspecteur de document html quand tu est sur ton aceuil IE puis dans la barre d'adresse tu colle ton url en ayant cliquer sur enregistrer dans l'onglet reseau de l'inspecteur (F12)
ensuite tu récupère la première requête
on va passer sur ce point je t'ai préparé la requête il n'y a qu'a changer la date
étant donné que ce site a des abonnés (monnaie monnaie) il est plutôt bien conçu et sécurisé et très exigeant dans ses protocoles
il faut donc que la requête soit conforme et donc que son header soit bien renseigné
ayant un peu fouiller a propos de ton control je pense qu'il ne marchera plus étant donné aussi que la page web a une protection anti copie (robots)
donc je le redis on va concevoir la requête conforme
voila pour commencer
je te laisse examiner dans le debug le code source est bien retourné
je t'expliquerait après comment découper ce code source sans passer par du split a gogo ou autre fonctions VBA voir VB perdu dans des if a ne plus finir
allez analyse ceci et regarde dans le debug voir même une partie dans le msgbox
on en reparle après
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub Bt_Importer_Click() MsgBox datahtml("25/07/2016") End Subvoila un outils pour ton geny qui durera bien plus longtemps selon moi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Function datahtml(Tdate) as string Dim ReQ, url As String url = "http://www.geny.com/reunions-courses-pmu/_d" & Format(Tdate, "yyyy-mm-dd") & "?" Set ReQ = CreateObject("microsoft.xmlhttp") With ReQ .Open "GET", url, False .setrequestheader "Accept", "text/html, application/xhtml+xml, */*" .setrequestheader "Accept-Language", "fr-FR" .setrequestheader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko" .setrequestheader "Accept-Encoding", "gzip, deflate" .setrequestheader "Host", "www.geny.com" .setrequestheader "Connection", "Keep - Alive" .setrequestheader "cache-Control", " no-cache" .send Debug.Print .responsetext datahtml = .responsetext End With End Function
quand tu aura compris comment une requête fonctionne on passera a l'étape de l'analyse de la page web
a ben voila quand on parle du loup on en voit la queue n'est ce pas seb!!!
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Salut à toi au grand patrick,
Juste un petit coucou en passant, je vois que tu aimes toujours récupérer les âmes perdus du turf....
Je ne pourrais rien apporter ici de plus que toi, je suis sur un projet bien différent au turf..... j'ai énormément appris avec toi, maintenant je mélange sql, php et vba....que du bonheur...
Speedturf--> tu es entre de très bonnes mains, mais suis bien les conseils de Patrick, car il ne rigole pas...ce monsieur
A tchao
Seb
a ben tiens mon dernier post n'est pas passé bizarre me direz vous
bon c'est pas grave
salut seb
je suis curieux PHP/VBA j'aimerais quelque explication basiques topo rapide sur la démarche dans un autre post si tu veux bien
reprenons le sujet de notre nouveau turfiste
alors voila un exemple qui ne va pas manquer de rappeler quelque chose a notre amis seb
voila comment je recupere les lien des pages pronostat des cours de la date en parametre
tu constatera que je n'ai pas de if a gogo et que je recupere ce qui m'interesse en manipulant le DOM(HTMLELEMENTS)
allez lecon N° 2
on reprends donc notre fonction datahtml elle n'est pas sans rappeler la fonction que j'avais faite pour Seb "recuphtml" hein seb !!!!
'http://www.geny.com/reunions-courses-pmu/_d2016-07-25?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Function datahtml(Tdate) Dim ReQ, url As String url = "http://www.geny.com/reunions-courses-pmu/_d" & Format(Tdate, "yyyy-mm-dd") & "?" Set ReQ = CreateObject("microsoft.xmlhttp") With ReQ .Open "GET", url, False .setrequestheader "Accept", "text/html, application/xhtml+xml, */*" .setrequestheader "Accept-Language", "fr-FR" .setrequestheader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko" .setrequestheader "Accept-Encoding", "gzip, deflate" .setrequestheader "Host", "www.geny.com" .setrequestheader "Connection", "Keep - Alive" .setrequestheader "cache-Control", " no-cache" .send 'Debug.Print .responsetext datahtml = .responsetext End With End Function
et maintenant la fonction qui va récupérer les liens de pages
'exemple de lien page prono='http://www.geny.com/partants-pmu/2016-07-26-vichy-pmu-prix-du-golf-du-sporting-de-vichy_c824673
a visionner le résultat dans le debug
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub recuplien_course_partant_stat() Dim doc As Object, i As Long, meselem As Object Set doc = CreateObject("htmlfile") 'on créé un document html en memoire ( pas d'interface(fenetre)) With doc .body.innerhtml = datahtml("26/07/2016") 'on met dans son body le resultat de la fonction datahtml 'on va rechercher les bouton coursepartantsstat Set meselem = .getelementsbytagname("a") ' on collectionne toutes les balises"<a></a>" ' parti d'ici je crois que je n'ai pas besoins d'expliquer la ligne "if parle d'elle même For i = 0 To meselem.Length - 1 If meselem(i).innertext = "partants/stats/prono" Then Debug.Print "http://www.geny.com" & Replace(meselem(i).href, "about:", "")' les urls sont tronquée et utilise le host pour la requête on la reconstruit donc en entier Next End With End Sub
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Pièce jointe 216358pour cela il te suffit d'aller voir l'inspecteur de document html quand tu est sur ton aceuil IE puis dans la barre d'adresse tu colle ton url en ayant cliquer sur enregistrer dans l'onglet reseau de l'inspecteur (F12)
ensuite tu récupère la première requête
, là je ne comprend pas, peut tu m'aider car je ne trouve pas l'onglet réseaula barre d'adresse tu colle ton url en ayant cliquer sur enregistrer dans l'onglet reseau de l'inspecteur (F12)
ensuite tu récupère la première requête
merci encore pour l'aide que tu va m'apporter
Mon message a dû passer inaperçu donc je renouvelle ma question : quelles sont les informations ramenées par la procédure du message #25 ?
A+
je pensais que tu était un peu plus familiarisé avec le VBA...là ça va être coton pour toi d'aborder les requêtes et surtout d'y comprendre quelque chose.bonjour, je dois mettre ce code où ?
Ouvrir la fenêtre du projet VBA (Alt+F11), coller le code dans un module classique et exécuter la macro (bouton F5 du clavier).
A+
j'ai essayer, il m'affiche cela
Pièce jointe 216366
Je pense que ta capture c est chrome alors je suppose que pour toi c est network
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
re
vu la capture de ta récupération il semblerait que l'on ai un soucis de version IE tes pages sont conçues différemment
tu es sur d'avoir copier le code tel quel ???? parce que normalement tu devrait avoir les liens des pages web et non celui de l'image du bouton
ps: je réinstalle Skype sur mon smart phone je ne veut pas de ce truc sur mon pc
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
oui, j'ai réécrit le code pareil
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager