XL 2013 Recherche sur internet

maval

XLDnaute Barbatruc
Bonsoir

J'ai un formulaire pour rechercher une jaquette de film sur le site CinémaPassion en fonction de la valeur du textbox.
Je n'arrive pas a trouver le code pour aboutir sur la page du nom retenue par le textbox
je joint mon fichier qui seras plus parlant

Je vous remercie d'avance
 

Pièces jointes

  • Recherche_Jaquettes.xlsm
    23.6 KB · Affichages: 48

maval

XLDnaute Barbatruc
Bonjour

Juste pour Lone-wolf
Tu le fait exprès ou quoi? Ce n'est pas seulement TARTEMPION qu'il faut mettre mais aussi son numéro
Je vais te donner la bonne ligne de commande sans marqué ceci
A_boire-20284119012007
Fast_and_furious-19482421012007.jpg

Code:
IE.navigate "http://www.cinemapassion.com/jaquettesdvd/" & TextBox1.Text & ".php"
Tu peut essayer sa fonctionne
Bonne journée
 

thebenoit59

XLDnaute Accro
Bonjour Max, Lone, JeCherche, Shakki.

Il y a un problème avec les titres de films et la correspondance sur le site.
En effet, parfois l'url ne comprend que des minuscules, parfois non, et là ça devient le bordel, certaines correspondances ne se font pas.

Une première idée :

VB:
Private Sub CommandButton2_Click()
Dim Texte$
    Texte = Me.TextBox1.Text
    Call Recherche_Jaquette(Replace(Texte, " ", "-"))
End Sub

A placer dans le code du bouton de Recherche.

VB:
Public Const url$ = "http://www.cinemapassion.com/jaquettesdvd/"

Sub Recherche_Jaquette(Titre As String)
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim Collection As IHTMLElementCollection
Dim Generic As HTMLGenericElement
Dim Image_Source$, Image_Nom$
   
    'On enregistre l'url complète.
    Adresse = url & Titre & ".php"

    'Continuer même si erreur.
    On Error Resume Next
   
    'Ouvre la page Web.
    IE.navigate Adresse
    IE.Visible = False
    'WaitIE IE
    Application.Wait (Now + TimeValue("0:00:02"))
    Set IEDoc = IE.document
   
    'On pointe l'élément prix.
    'Set Collection = GenericElem.getElementsByClassName("castingreduitbas")
    Set Collection = IEDoc.images

    'Lien de l'image.
    Image_Source = Collection.Item(3).src
    Image_Nom = Collection.Item(3).nameProp
   
    Debug.Print Image_Source
   
    'Enregistrement de l'image.
    SaveHtmlFile Image_Source, ThisWorkbook.Path & "\" & Image_Nom
   
    'On ferme IE.
    IE.Quit
    Set IE = Nothing
    Set IEDoc = Nothing
   
End Sub

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

Sub SaveHtmlFile(aUrl As String, aDestination As String)
    'Pris sur le forum de la msdn (avec quelques menues modifs)
    'http://social.msdn.microsoft.com/Forums/en/isvvba/thread/bd0ee306-7bb5-4ce4-8341-edd9475f84ad
Dim WinHttpReq As Object, oStream As Object
Dim TheURL As String

    On Error Resume Next 'On ne gère pas les erreurs
   
    Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
    WinHttpReq.Open "GET", aUrl, False
    WinHttpReq.send
   
    TheURL = WinHttpReq.responseBody

    If WinHttpReq.Status = 200 Then
        Set oStream = CreateObject("ADODB.Stream")
        oStream.Open
        oStream.Type = 1
        oStream.Write WinHttpReq.responseBody
        oStream.SaveToFile aDestination
        oStream.Close
    End If
End Sub

A placer dans un module.
 

thebenoit59

XLDnaute Accro
Utilises-tu le dernier fichier envoyé ?
La page Désolé est affichée quand la casse de ton nom de film ne correspond pas à celle du site.

160714045958340130.gif
 

Statistiques des forums

Discussions
312 789
Messages
2 092 121
Membres
105 222
dernier inscrit
Pujeth_72