Importation d'une page web avec somme en fonction de la date

Bonjour,

Une proposition avec Récupérer et transformer (Power Query).

A tester et tester sur un plus échantillon !?

Cdlt.

9jeromechant.xlsx (19.87 Ko)

Bonjour,

J'avais pense a une macro initialement.

Peux tu m'expliquer comme faire avec Power Query?

j'ai essayer d'actualisé il me met " Avertisement de compatibilité "

image

Re,

Ignore le message et enregistre le classeur.

Ferme et ouvr de nouveau le classeur...

Teste.

Redis moi avant les explications.

Cdlt.

Bonjour,

je ne sais pas utilise ta methode.

Peut tu m'expliquer comment l'utilise?

image

Bonjour,

Es-tu certain que ce n'est pas le site qui bloque après plusieurs actualisations ?

Sinon, pour actualiser la requête, sélectionne une cellule de la table. Clic-droit et Actualiser.

A te relire.

Cdlt.

Bonjour,

avec ta methode, il semble avoir un bloquage du site.

Il y a une autre méthode pour extraire mais j'ai besoin de modifier la macro pour qu'il me fasse la somme des éléments trouvé par mois.

Quelqu'un arriverais a modifier cette macro?

Sub TesterLaVitesseDeMacro()

On Error GoTo Erreur

'stocker le moment de début
MacroDebut = Now

Dim i%, k%, URL$, avant1$, avant2$, apres1$, apres2$, indice%

On Error Resume Next
    For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row

        DoEvents
        URL = Cells(i, "B").Value

        With CreateObject("MSXML2.XMLHTTP")
            .Open "GET", URL, False
            .Send
            If .Status = 200 Then
                For k = 1 To 2
                    avant1 = Sheets("paramètres").Range("avant1").Offset(0, k).Value
                    apres1 = Sheets("paramètres").Range("apres1").Offset(0, k).Value
                    avant2 = Sheets("paramètres").Range("avant2").Offset(0, k).Value
                    apres2 = Sheets("paramètres").Range("apres2").Offset(0, k).Value
                    Cells(i, "B").Offset(0, k).Value = Replace(mydata(.responseText, avant1, apres1, avant2, apres2), Chr(10), "")
                Next
                Cells(i, "B").Offset(0, k).Value = Date
            End If
        End With
    Next

    'comparer le début & la fin et afficher le résultat
MsgBox "Durée d'exécution: " & Format(Now - MacroDebut, "hh:mm:ss")
Exit Sub

Erreur:
MsgBox "Une erreur est survenue..."
End Sub

Function mydata(texte As String, debut1 As String, fin1 As String, debut2 As String, fin2 As String)
    mydata = Split(Split(texte, debut1)(1), fin1)(0)
    If debut2 <> "" And fin2 <> "" Then mydata = Split(Split(mydata, debut2)(1), fin2)(0)
End Function
7suivi-ebay2.zip (296.09 Ko)

Re,

Peux-tu envoyer un complément d'adresses (url) pour un test plus important ?

Cdlt.

Bonjour Jean-Eric,

j'ai le même soucis que jeromechant alors qu'avec une interrogation macro je n'ai pas de blocage

nos messages se croisent, j'attends de tes nouvelles

Je pense avoir trouvé de où cela vient ... il faut ignorer les niveaux de contrôle de confidentialité

capture d ecran 715 capture d ecran 716

Bonjour,

En faisant comme Steelson , l'indique ca me permet d'actualisé mais je ne sais pas comment faire pour rajouter des lignes.

Stellson est ce qu'il est possible de modifie la macro pour faire la somme des mois de juillet et Juin pour chaque annonce?

Ci joint le fichier avec les URL rajouté, j'ai une preference pour la macro car le but est d'en mettre beaucoup dans le fichier.

2jeromechant2.xlsx (38.52 Ko)

Je laisse Jean-Eric car sa solution est plus performante (et je n'ai pas beaucoup de temps en ce moment car je dois finaliser un projet important d'ici fin de mois).

Merci Steelson.

Jean-Ecric peut tu m'expliquer comment faire pour rajouter des ligne avec Power query?

Re,

eBbay demande aléatoirement un code : Saisissez un code de vérification pour poursuivre...

Difficile alors d'utiliser Power Query !?

Une solution VBA ?

Cdlt.

Je me suis juste arrêté ici ... est-ce que ce sont bien ces données dont tu as besoin ?

Il suffira alors ensuite de faire un TCD

Sub Maj()
Dim url$, obj As New DataObject, f As Worksheet, u As Worksheet, img As Object
Set f = Sheets("Resultat")
f.Cells(1, 2).CurrentRegion.Offset(1, 0).ClearContents
Set u = Sheets("URL")
f.Select
    DoEvents
    For i = 2 To u.Cells(Rows.Count, 1).End(xlUp).Row
        url = u.Cells(i, 1).Value
        f.Cells(Rows.Count, 2).End(xlUp).Offset(1, -1).Select
        debut = Selection.Row
        With CreateObject("MSXML2.XMLHTTP")
            .Open "GET", url, False
            .Send
            If .Status = 200 Then
                For j = 1 To UBound(Split(.responseText, "<table"))
                    extrait = Split(Split(.responseText, "<table")(j), "</table>")(0)
                    If InStr(extrait, "Date de l'achat") > 0 Then
                        txt = "<table" & extrait & "</table>"
                        obj.SetText txt
                        obj.PutInClipboard
                        f.Paste
                        Application.Wait Now + TimeValue("0:00:02")
                        f.Rows(debut).Delete
                        fin = f.Cells(Rows.Count, 2).End(xlUp).Row
                        f.Range(f.Cells(debut, 1), f.Cells(fin, 1)) = "'" & Split(url, "=")(1)
                        f.Range(f.Cells(debut, 6), f.Cells(fin, 6)).FormulaR1C1 = "=INT(SUBSTITUTE(SUBSTITUTE(RC[-1],"" Paris"",""""),""."","""")*1)"
                    End If
                Next
            End If
        End With
    Next
    For Each img In f.Pictures
        img.Delete
    Next

MsgBox "Fin !"
End Sub

Oui ce sont bien les données que j'ai besoin.

Il faut ensuite que je puisse faire la somme par mois et par annonce comme le fichier que j'avais proposé.

Le but etant a arrive a ca :

Adresse2020-032020-042020-052020-062020-07
https://offer.ebay.fr/ws/eBayISAPI.dll?ViewBidsLogin&item=1524013960743172123
https://offer.ebay.fr/ws/eBayISAPI.dll?ViewBidsLogin&item=15240137887931918
https://offer.ebay.fr/ws/eBayISAPI.dll?ViewBidsLogin&item=1526079123211136217
https://offer.ebay.fr/ws/eBayISAPI.dll?ViewBidsLogin&item=1525695299711017810

Bonjour,

@Steelson,

J'ai un message d'erreur (.Send).

iso4217

Sinon, comment tu gères la demande aléatoire d'eBay ?

Je parle du nouveau fichier de jeromechant avec un nombre plus conséquent de liens.

Cdlt.

Bonjour,

J'ai eu aussi acces refusé, j'ai utilise mon vpn et ca a autorisé l'acces.

Les IP sont bloquées par ebay car trop de demandes en rafale ! pour moi, on ne peut rien faire ! C'est vrai pour beaucoup de sites. OVH doit même le proposer en standard (je vais regarder sur le site que je gère).

En utilisant un VPN , CA résout le probleme du blocage de l'adresse IP.

Rechercher des sujets similaires à "importation page web somme fonction date"