Recherche sur google

Fermé
intimed Messages postés 4 Date d'inscription jeudi 7 juillet 2011 Statut Membre Dernière intervention 30 mai 2017 - 29 mai 2017 à 16:54
Bonjour tout le monde,

Pourriez-vous SVP m'aider à compléter mon code VBA qui permet de faire une recherche sur google.fr à partir d'un fichier excel et de récupérer le premier lien affiché et son détail court.

Explications :

J'ai une feuille Excel 2013 contenant 4 colonnes :
- Colonne B: la donnée à rechercher sur google se trouve sur cette colonne.
- Colonne C: Je veux que mon programme renseigne cette colonne par le premier lien affiché sur google après recherche de la donnée de la colonne B
- Colonne D: Je veux que mon programme renseigne cette colonne par le détail court du premier lien affiché.

Après des recherches sur le net, j'ai réussi d’écrire le code VBA qui permet de faire la recherche sur google à partir d'une feuille excel et de renseigner la colonne C et D. toutefois, je n'ai pas réussi à trouver le code qui permet de récupérer le premier lien affiché.

Veuillez trouver ci-dessous le code source, vous trouverez sur l'image des exemples explicatifs.

Merci d'avance pour votre soutient.

Cordialement

Sub WaitIE(IE As InternetExplorer)
   'On boucle tant que la page n'est pas totalement chargée
   Do Until IE.readyState = READYSTATE_COMPLETE
      DoEvents
   Loop
   
End Sub

Sub RechercheGoogle(ByVal TextRechrch As String, ByVal Numligne As Integer)

'Déclaration des variables

Dim IE As InternetExplorer
Dim IEDoc As HTMLDocument
Dim InputGoogleZoneTexte As HTMLInputElement
Dim InputGoogleBouton As HTMLInputElement
Dim HtmlElementLien As HTMLGenericElement
Dim HtmlElementDetail As HTMLGenericElement
Dim Feuil_Trait As Worksheet

Dim LienExtrait As String
Dim DetailExtrait As String




   'Initialisation des variables
   Set Feuil_Trait = ThisWorkbook.Sheets("Feuil1")
   Set IE = CreateObject("InternetExplorer.Application")

   'Chargement d'une page web Google
   IE.navigate "www.google.fr"

   'Affichage de la fenêtre IE
   IE.Visible = True

   'On attend le chargement complet de la page
   WaitIE IE
   
      'On pointe le membre Document
   Set IEDoc = IE.document
   
   'On pointe notre Zone de texte
   Set InputGoogleZoneTexte = IEDoc.all("q")

   'On définit le texte que l'on souhaite placer à l'intérieur
   InputGoogleZoneTexte.Value = TextRechrch

   'On attend la fin de la recherche
   WaitIE IE
   
   'On pointe notre bouton
    Set InputGoogleBouton = IEDoc.all("btnG")

    'On simule un clic
    InputGoogleBouton.Click
    
    'On attend la fin de la recherche
    WaitIE IE
    
   
   '---------------------------------------------------------------------
   ' ||||||||||||||||||   ICI Où JE ME SUIS BLOQUE   |||||||||||||||||||||||
   '---------------------------------------------------------------------
   'affecter le resulat de recherche
           ' Set HtmlElementLien = IEDoc.body.all(60)
           ' Set HtmlElementDetail = IEDoc.body.all(61)

  'On le place dans notre variable prévue à cet effet
    LienExtrait = HtmlElementLien.innerText
    DetailExtrait = HtmlElementDetail.innerText

  '-----------------------------------------------------------------------
   'On affiche le resultat
    Feuil_Trait.Cells(Numligne, "C") = LienExtrait
    Feuil_Trait.Cells(Numligne, "D") = DetailExtrait

    'On libère les variables
    
   IE.Quit
   Set IE = Nothing
   Set IEDoc = Nothing

   
End Sub

Sub Traitement()

Dim Feuil_Trait As Worksheet
Dim TextRecherche As String
Dim i As Integer

Set Feuil_Trait = ThisWorkbook.Sheets("Feuil1")

  
  For i = 4 To 7
  
        TextRecherche = Feuil_Trait.Cells(i, "B")
        Call RechercheGoogle(TextRecherche, i)
  
  Next
  
 
  MsgBox "Recherche terminée.", vbInformation
End Sub

A voir également: