Lire et copier des données voisines dans une page Internet

Nonno 94

XLDnaute Occasionnel
Bonsoir le Forum,:confused:

n'ayant pas réussi à le faire, je viens solliciter votre aide pour compléter un code qui me permettra d'importer simultanément plusieurs données voisines dans une page Internet.
J'utilise actuellement un code qui me permet d'importer successivement 2 données voisines comme vous pourrez le voir dans le fichier joint (cellules bleues).

Voici ce code:

Code:
Sub Lire_Objectifs_et_Potentiels()

       Dim IE As New InternetExplorer
        Dim IEDoc As HTMLDocument
        Dim HtmlTag As IHTMLElementCollection
        Dim Valeur As String, Cel As Range, I As Integer


        Sheets("Valeurs").Select
            ActiveSheet.Unprotect


        For Each Cel In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
            IE.Navigate Cel
            IE.Visible = False
            Do Until IE.readyState = READYSTATE_COMPLETE
                DoEvents
            Loop
            Set IEDoc = IE.document
            Set HtmlTag = IEDoc.getElementsByTagName("td")


            Valeur = "N/A"
            For I = 0 To HtmlTag.Length - 1
                If HtmlTag.Item(I).innerText = "Objectif de cours à 3 mois" Then
                    Valeur = HtmlTag.Item(I + 1, I + 3).innerText
                    Exit For
                End If
            Next I

            Cel.Offset(1, 3) = Valeur

        For I = 0 To HtmlTag.Length - 1
                If HtmlTag.Item(I).innerText = "Potentiel" Then
                    Valeur = HtmlTag.Item(I + 1).innerText
                    Exit For
                End If
            Next I
            Cel.Offset(2, 3) = Valeur
        Next Cel


    Set HtmlTag = Nothing
    Set IEDoc = Nothing
    Set IE = Nothing

            Range("B1").Select
                ActiveSheet.Protect
           
                    ActiveWorkbook.Save
    End Sub

Pourriez-vous me dire comment le modifier pour importer simultanément les 6 données voisines des lignes 151 à 153 de la page "Accor" (2 dans les cellules bleues et 4 dans les cellules jaunes) pour obtenir le tableau "C2-D4" de la page "Valeurs" ?

Avec mes remerciements et en vous souhaitant une bonne soirée.

Cordialement.
Nonno 94.
 

Mytå

XLDnaute Occasionnel
Re : Lire et copier des données voisines dans une page Internet

Salut le forum

En gardant le même principe qu'une précédente réponse.
Code:
Sub Lire_Blocs()
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim HtmlTag As IHTMLElementCollection
    Dim Titre(2) As String, Valeur(2) As String
    Dim Cel As Range, I As Integer

    For Each Cel In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
        IE.Navigate Cel
        IE.Visible = False
        Do Until IE.readyState = READYSTATE_COMPLETE
            DoEvents
        Loop
        Set IEDoc = IE.document

        Set HtmlTag = IEDoc.getElementsByTagName("td")

        Titre(0) = "Évolution semaine": Valeur(0) = "N/A"
        Titre(1) = "Objectif de cours à 3 mois": Valeur(1) = "N/A"
        Titre(2) = "Potentiel": Valeur(2) = "N/A"
        For I = 0 To HtmlTag.Length - 1
            If HtmlTag.Item(I).innerText = Titre(0) Then
              Valeur(0) = HtmlTag.Item(I + 1).innerText
              If HtmlTag.Item(I + 2).innerText = Titre(1) Then
                  Valeur(1) = HtmlTag.Item(I + 3).innerText
              End If
                If HtmlTag.Item(I + 4).innerText = Titre(2) Then
                    Valeur(2) = HtmlTag.Item(I + 5).innerText
                End If
                Exit For
            End If
        Next I
        Cel.Offset(0, 2) = Titre(0): Cel.Offset(0, 3) = Valeur(0)
        Cel.Offset(1, 2) = Titre(1): Cel.Offset(1, 3) = Valeur(1)
        Cel.Offset(2, 2) = Titre(2): Cel.Offset(2, 3) = Valeur(2)
    Next Cel
    
    IE.Quit
    Set HtmlTag = Nothing
    Set IEDoc = Nothing
    Set IE = Nothing

    Range("B1").Select

End Sub
Mytå
 

Discussions similaires

Réponses
1
Affichages
272
Réponses
2
Affichages
182
Réponses
11
Affichages
361

Statistiques des forums

Discussions
312 572
Messages
2 089 819
Membres
104 284
dernier inscrit
Yohan90