Remplir tableau selon sites web

Bonjour, j'aimerais copier et coller des données à partir de sites Web vers un tableau sur Excel.

Voici la description écrite de mon tableau.

Je cumule les données de tout mes produits sur chaque ligne du tableau (près de 8700).

Colonne A: numéro de produit.
Colonne B: page internet de ce produit.
Colonne C: Code CUP du produit.
Colonne D: Nom du produit.
Finalement, de la colonne E à P, les informations recherchées.

J'inclut ici deux images et un lien Web pour référencer le tout. J'ai encadré en vert l'information recherchée... Je me demande, en ajoutant un numéro de produit en A si le tout peut être automatisé. Veuillez noter que je suis complètement nul en dehors des simples formules Excel.

Pour le produit no. 517512, je me réfère à l'adresse automatisée http:// www. saq. com/fr/518712, nom du produit " "M" Montepulciano d'Abruzzo " voyez ici la récurrence des adresses Web.

Metci pour tout l'aide fournie d'avance. C'est un projet pour le travail, donc important pour moi!

screenshot 20201007 133016 excel projet drawing 1483708278483913935

Bonjour,

pour le moment c'est HS

y a t'il des restrictions d'accès ?

capture d ecran 138

1er essai avec PowerQuery ... échec !

Donc méthode traditionnelle

Const site = "https://www.saq.com/fr/"
Sub lecture()
    apres = "</strong>"
    For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
        DoEvents
        URL = site & Cells(i, "A").Value
        With CreateObject("MSXML2.XMLHTTP")
            .Open "GET", URL, False
            .Send
            If .Status = 200 Then
                For k = 1 To 12
                    avant = "<strong data-th=""" & Replace(Cells(1, k + 1), "'", "'") & """>"
                    txt = Split(Split(.responseText, avant)(1), apres)(0)
                    txt = Replace(txt, "  ", "")
                    txt = Replace(txt, "'", "'")
                    Cells(i, "A").Offset(0, k).Value = txt
                Next
            End If
        End With
    Next
End Sub
23saq.xlsm (16.00 Ko)

Merci beaucoup! Permet-moi d'être nullisime, comment faire pour ajouter de nouvelles rangées et de rafraîchir les données? Merci!

Mets de nouveau numéros dans la colonne A à la queue leu leu et clique sur le rectangle.

Je regarde si je peux enlever le retour à la ligne dans chaque case.

edit : il n'y a pas de rectangle, j'ajoute !

Il n'y pas de rectngl... j'ai pourtant une version très récente de Excel, il y a quelque chose que je dois mettre à jour? Et, je sais pas si ce serait faisable (je ne veux pas trop en demnder) d'ajouter le type de produit et sa sous catégorie (vous voyez u dessus de l bouteille de vin sur le site, il y à Produit, Vin, Vin Rouge... j'aimerais les compiler aussi si possible)...

Tout ça vaut l'or du monde, merci tellement!

version avec rectangle et sans le saut de ligne

11saq.xlsm (18.10 Ko)

d'ajouter le type de produit et sa sous catégorie (vous voyez u dessus de l bouteille de vin sur le site, il y à Produit, Vin, Vin Rouge... j'aimerais les compiler aussi si possible)...

je vais regarder ce soir ou demain matin pour ajouter cela

un messaged'erreur demande de débugger cette ligne lorsque j'inscrit de nouveaux numéros... quelle est l'erreur?
txt = Split(Split(.responseText, avant)(1), apres)(0)

ajouter le type de produit et sa sous catégorie

cela complique et me rajout des sauts de lignes dans les cases

9saq.xlsm (19.13 Ko)

un messaged'erreur demande de débugger cette ligne lorsque j'inscrit de nouveaux numéros... quelle est l'erreur?
txt = Split(Split(.responseText, avant)(1), apres)(0)

quel est le numéro ajouté ?

Avec le code 12952797..

Il est bon à savoir que les chiffres sont composés de 2 à 8 chiffres?

Voici le fichier original si ça peut aider...

11vintagesaq.zip (426.02 Ko)

Ben oui, pour celui-là il n'y a ni le type de vin, ni l'appellation d'origine

J'ai ajouté un détection des erreurs

24saq.xlsm (19.42 Ko)

Pourles types de vin et appélations d'origine, ça créé des erreurs?

Cela créait des erreurs par leur absence, maintenant si l'information manque je passe.

Au passage, je considère que ceci répond à la charte : https://forum.excel-pratique.com/excel/a-lire-avant-de-poster-charte-du-forum-et-informations-utiles...

Ne demandez rien d'illégal ou d'éthiquement discutable (comme par exemple le retrait d'un mot de passe VBA, l'extraction de données d'un site qui ne l'autorise pas, etc).

Merci beaucoup, j'essaie de comprendre la logique derrière tout ça héhé mais c'est déjà beaucoup de travail! Question de nombres de caractères peut-être?

Question de nombres de caractères peut-être?

Je n'ai pas compris cette remarque.


Merci beaucoup, j'essaie de comprendre la logique derrière tout ça héhé mais c'est déjà beaucoup de travail!

La logique est la suivante :

  1. j'interroge le site
  2. je récupère la source par .responsetext (ce que l'on fait quand on affiche la source d'une page web depuis le navigateur)
  3. je redécoupe par split la source de façon à encadrer le texte que je recherche entre un paramètre avant et un paramètre apres (la fonction split crée un tableau de 0 à n)
Rechercher des sujets similaires à "remplir tableau sites web"