Reprise de données depuis un site web

Bonjour le forum,

Je ne vais certainement pas être très original dans ma demande d'entraide puisque j'aurais besoin d'un coup de pouce dans la récupération de données hippiques... Comme j'ai pu le voir au travers des différents sujets abordés ici, il y a des personnes capables de tout faire et j'espère que l'une d'entre elles pourra m'aider à relever le challenge !

Je précise, et ce n'est pas de mauvaise foi, que je n'ai absolument aucune connaissance dans le domaine de la programmation : rien de chez rien, mais je suis tout naturellement disposé à apprendre, ceci afin aussi d'améliorer mon savoir et de pouvoir apprendre à me débrouiller sur le sujet.

Je me suis permis de joindre un petit fichier excel afin d'expliquer le plus clairement possible ce que je souhaiterais pouvoir obtenir.

J'ai un fichier excel comportant une feuille de récapitulation et 20 feuilles (nombres de partants maximum) individuelles. La liaison feuille individuelle - récapitulation est faite (ça, je m'en sors quand même). Mon but est d'automatiser la séquence de reprise des données individuelles depuis le web, parce qu'en copier-coller, ce que je fais, ça prend un temps énorme tous les jours.

J'accepte volontiers tous commentaires, une esquisse de solution ou des liens pour apprendre à le faire tout seul !

Par avance, je remercie celles et ceux qui me répondront !

Cordialement !

P.S. J'avais également posté sur un autre forum, mais pour des raisons que j'ignore, il a été décidé de ne plus travailler sur le sujet "turf" en général. Je dis ça d'emblée afin que l'on ne puisse pas me reprocher de chercher l'information partout...

Et bien non, justement pas.

Les idées émises vont dans le sens que je souhaiterais, mais ce ne sont pas les bonnes données qui sont reprises (PMU au lieu de France Galop).

C'est la raison pour laquelle j'ai mis fait une demande ici. Ils ne souhaitent plus forcément travailler sur des données hippiques (beaucoup de demandes à ce sujet). Les pistes que j'ai citées sur ce site le sont pour éviter de devoir refaire tout le travail alors qu'une partie des travaux peut être éventuellement reprise comme base de travail.

Mais comme je n'y connais rien, je suis venu ici solliciter de l'aide !

Bonjour,

Je fais remonter un peu le sujet pour essayer de résoudre mes derniers problèmes.

Cherchant de moi-même une solution en rapport avec ce que je recherche, j'ai trouvé un début en reprenant un code existant sur un autre forum, en cherchant à le comprendre et en tentant de l'adapter avec ce que je souhaite en faire.

Néanmoins, j'ai encore deux problèmes à résoudre :

1) Avant de passer au traitement suivant, donc à la fin de ma boucle, il faudrait que je passe à la feuille suivante de mon classeur excel afin de copier les données dans la nouvelle feuille et ainsi de suite. J'ai essayé avec plusieurs formules trouvées ici et là. Le problème, c'est que même si le changement de feuilles s'effectuent, toutes les données se collent dans la première feuille...

'OBJECTIF : On récupère les tableaux Performances de chaque cheval de la liste
    With ActiveSheet
        'On efface d'abord les anciennes données de l'onglet
        Range("A2:Q10000").Select
        Selection.ClearContents

        Application.ScreenUpdating = False
        'On boucle sur la liste de chevaux stockés pour récupérer les données souhaitées
        For i = 1 To UBound(TabChevaux, 2)
            'Trouver la prochaine ligne libre de l'onglet Résultats
            L = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
            'On récupère le tableau de carrière (par requête Web)
            RecupCarriere .Cells(L + 3, 1), TabChevaux(1, i)
        'Ajout : Extraction des seules données importantes ---------------------------------------------
            Lmax = .Cells(.Rows.Count, 1).End(xlUp).Row
            'Copie des données qui nous intéressent
            .Range(.Cells(Lmax, 1), .Cells(Lmax, 17)).Copy Destination:=.Cells(L + 3, 1)
                 '---------------------------------------------------------------------------------------
            ActiveSheet.Next.Select
        Next i
        Application.ScreenUpdating = True
    End With

2) Quand je lance le traitement complet, systématiquement, la dernière ligne du tableau que je récupère est doublée et reprise en premier. Il me faudrait pouvoir supprimer cette ligne parasite...

J'espère pouvoir compter sur ce petit coup de pouce, le reste de la solution ayant été adapté par mes seuls soins.

Par avance, je vous remercie de votre précieuse collaboration !

Bonjour

Pas facile à essayer de t'aider, juste avec un morceau de macro, il faudrait que l'on puisse tester et trouver (peut-être) pourquoi cela pêche

Bonne journée

Bonjour,

Merci de t'intéresser à mon problème. J'ai joint le fichier demandé.

Toute piste m'intéresse puisque j'en profite pour essayer d'apprendre et comprendre ce que je fais...

188recup.zip (28.27 Ko)

Bonjour

Modification de ta macro

Vérifies si c'est le résultat attendu

C'est parfait !

Par contre, et c'est ma faute, pourrais-tu décaler pour que les données se collent en A1 et non A2 ?

J'y arrive pas et je ne vois pas ce que je fais de faux...

Cordialement !

Bonjour

Facile

Dans la macro tu remplaces A2 par A1 (2 endroits)

            'On efface d'abord les anciennes données de l'onglet
            .Range("A1:Q10000").ClearContents
            RecupCarriere .Range("A1"), TabChevaux(1, i)

Salut !

J'ai essayé mais ça ne fonctionnait pas et maintenant, ça roule... Je dois vraiment être nul de chez nul...

En tous cas, je te remercie beaucoup (énormément) pour ton aide !

La solution est parfaite !

Salut Banzai64, bonjour le forum,

Je me permets de relancer le sujet. J'ai utilisé, quotidiennement et à satisfaction, le fichier durant près d'une année, mais là, il y a un bug que je ne sais résoudre... Le site n'a, en apparence, pas changé, mais je ne sais pas du tout pourquoi ça ne fonctionne plus...

Si une bonne âme, charitable, pouvait m'aider...

Ce n'est sûrement pas grand-chose, mais c'est trop pour mes capacités...

Bonjour

Moi je ne sais pas t'aider dans ce cas

Tout ce que j'ai vu c'est une page en anglais

Pour la voir

Une fois le programme planté

Dans la fenêtre exécution tapes

IE.Visible = true

Moi j'obtiens cette page : Mais je n'en sais pas plus

Peut-être pour indiquer que l'adresse du site à changé ou ......

Désole

france galop

Salut,

En effet, je vois le problème, mais je ne me l'explique pas...

Si je prends l'URL que je souhaite atteindre et qui est, dans mon exemple :

Je n'arrive nulle part, comme toi, avec la même image.

Néanmoins, si je fais le cheminement manuellement via le navigateur, j'arrive exactement à la même URL !!!

http://www2.france-galop.com/fgweb/

Courses - Par date et hippodrome

24 janvier 2013 - Cagnes

Course 9, cheval numéro 1 (breitner)

J'ai l'URL suivante qui s'affiche :

soit exactement la même.

Mais si je fais un copier/coller de l'URL seul dans la barre du navigateur, je n'arrive nulle part !

Mystère...

Bonjour,

J'ai bien peu que tu ne puisse plus accédé au URL de ce site sous cette forme, ils ont probablement refondu le site en ADO.Net

D'ailleurs, si tu va en direct sur le site et que tu sélectionne un menu tu arrive sur d'autre page mais il n'y à plus de trace de l'url dans l'onglet du navigateur.

Version Information: Microsoft .NET Framework Version:2.0.50727.1873; ASP.NET Version:2.0.50727.1433

En cherchant un peu.. essaye avec l'url

http:-->>//www2.france-galop.com/FGWeb/domaines/palmares/cheval_palmares.aspx

enlever -->> c'est pour que tu puisse la copier

Mais comme je sais pas sur quel page exactement tu veux arriver tu dis et je verrais si je peu trouver la nouvelle url.

A+

bonjour

je vous sollicite a chaque fois, et c'est a chaque fois des résultats extra

pour cette fois ci mon problème est le suivant

Dans la feuille VENTE j'ai la MACRO " DÉSTOCKAGE" qui a pour compteur la cellule M12, plus je clic plus ça augmente.

La macro est faite par des blocage et des messages d'erreur, ou préventif ( END SUB )

J'aimerais que le compteur ( c'est a dire la cellule M12) ne comptabilise que si la macro est fonctionnelle a 100% et que le déstockage est fait convenablement, comme ça il y aurais un suivie exacte du Nb de vente

( le code pur la feuille STOCK (atteint dans la feuille mise en stock) est "0000")

merci pour votre aide

Salut,

Voilà, j'aimerais arriver sur cette page-là. Merci pour tes explications !

Le but du jeu est le suivant : grâce au fichier, je pouvais relever automatiquement l'historique des données de tous les partants d'une course PMU. Je n'avais qu'à décomposer l'URL de la course au sein de la macro et le reste se faisait automatiquement.

En fait, de prime abord, rien n'a changé sur la visualisation du site, ni sur les url finales à corriger dans la macro. Je l'ai fait quotidiennement jusqu'à l'automne passé sans problème. Maintenant que la saison de plat va reprendre, je m'y remets et ça ne fonctionne plus en l'état.

Merci de t'intéresser au problème !

Cordialement.

Aujourd'hui (24.01.2013)

Cagnes-sur-Mer

9ème course

fiche détaillée du 1er partant

fg

Oui, mais comment tu connais les références du cheval...

Par exemple

http-->>://www2.france-galop.com/fgweb/Domaines/Chevaux/cheval_perf.aspx?idcheval=46976639

fonctionne

>>

Cette partie de l'URL contient les données relatives à une course unique dans l'année. Tous les chevaux (partants de le course) du menu déroulant ont la même url en finalité. Il n'y a pas de changement quand tu fais la navigation d'un partant à l'autre.

Ensuite, la macro permettait, au sein de la même course, de compter le nombre de chevaux dans le menu déroulant et de relever les données du dernier tableau (en-dessous de performance).

La macro ne sert, en fait, qu'à faire un copier-coller du dernier tableau pour chaque partant et à les transférer dans excel.

fg

Peut-être trouvé l'origine de ton souci..

Dans l'url que tu donne supprime le mot "navigation"

Tester sur ton appli et ça fonctionne

A+

Alors, quand je fais ça, j'en arrive à l'erreur initiale qui m'a fait revenir ici...

A savoir que je n'arrive plus à faire compter les chevaux dans le menu déroulant et à stocker les numéros en bleu (qui correspondent à chaque cheval) pour ensuite reprendre les données dans la deuxième partie de la macro.

Et si j'en crois le code source de la page en question, l'identification me paraît exacte...

fg
Rechercher des sujets similaires à "reprise donnees site web"