Excel peut-il ouvrir une page internet?

Icedarts

XLDnaute Occasionnel
En fait il s'agit plutot de savoir si excel peut ouvrir un page web et remplir des cases qui se trouvent sur cette page?
 
Dernière édition:

myDearFriend!

XLDnaute Barbatruc
Re : Excel peut-il ouvrir une page internet?

Arf, content d'avoir rendu service. Le sujet était intéressant.

Mais si tu y tiens et si ce n'est pas encore fait, c'est par ici que ça se passe :
Lien supprimé
:p:p:p

Bonne fin de soirée (ou nuit).
 

myDearFriend!

XLDnaute Barbatruc
Re : Excel peut-il ouvrir une page internet?

Bonjour Icedarts, le fil,

Lorsque la bonne page est affichée dans le WebBrowser, faire clic droit et afficher la source. Ensuite une recherche sur l'expression "Classement équipes" et tu trouveras juste avant, la balise Html input suivante :
HTML:
<input type="SUBMIT" value="Ok" name="B5" COLOR=WHITE >
Cette balise correspond au bouton "Ok" de la page Web. Ce bouton porte le nom "B5".

Cordialement,
 

Icedarts

XLDnaute Occasionnel
Re : Excel peut-il ouvrir une page internet?

Bon sans vouloir paraitre nul
La je viens de découvrir un truc!!!
ptdr!

Bon se sont mes premiers pas d'apprentisasge alors peux tu m'indiquer ou se trouve les lignes de commande pour le copier coller de la page web à la feuille 2.
Une fois les lignes identifiées je vais essayer de comprendre le fonctionnement et si je n'y arrive pas je viendrais te demander un coup de main ;)
 

myDearFriend!

XLDnaute Barbatruc
Re : Excel peut-il ouvrir une page internet?

Re Icedarts,

Il ne s'agit pas d'un simple copier-coller des valeurs de la page Web (trop simple ?), mais d'une récupération des chaines de caractères contenues dans cette page.

Le code suivant permet de récupérer l'ensemble des valeurs texte contenues dans la page Web :
Code:
WebBrowser1.Document.Body.InnerText()
En l'occurence, chaque chaine est séparée par un retour à la ligne (retour chariot)

Je réaffecte ensuite chaque élément dans un tableau variant TabTemp :
Code:
TabTemp = Split(WebBrowser1.Document.Body.InnerText(), vbCrLf)
TabTemp(0) contiendra la première ligne de texte, TabTemp(1) la deuxième, etc... (Attention : certaines lignes peuvent être vides).

Il s'agit ensuite de redistribuer au bon endroit ces différentes chaines dans la Feuil2 (en commençant par la 3ème ligne puisque nous ne voulons pas tenir compte du titre du tableau Web). C'est l'objet de la boucle :
Code:
[COLOR=NAVY]For[/COLOR] L2 = 3 [COLOR=NAVY]To UBound[/COLOR](TabTemp)
...
Next L2
Cordialement,
 

Icedarts

XLDnaute Occasionnel
Re : Excel peut-il ouvrir une page internet?

Voila je comprends comment ça marche ;)
A peu près...
J'ai fait quelques modifs pour ajuster à un nouveau besoin mais je n'arrive pas à faire une chose:
Sur la feuille "test département" je n'arrive pas à faire en sorte de selectionner que la colonne A...

Et pour finir comment rajouter une macro automatique pour supprimer les doublons générés dans la feuille "opérateur" juste dans la colonne A?

Merci d'avance.
 

Pièces jointes

  • trouver opés2.xls
    44.5 KB · Affichages: 49
Dernière édition:

myDearFriend!

XLDnaute Barbatruc
Re : Excel peut-il ouvrir une page internet?

Re Icedarts,

Sur la feuille "test département" je n'arrive pas à faire en sorte de selectionner que la colonne A...

Il te faut simplemnt changer la ligne :
Code:
Range(Cells(L, 1), Cells(L, 2)).Interior.ColorIndex = 6
par celle-ci :
Code:
Cells(L, 1).Interior.ColorIndex = 6
Et pour finir comment rajouter une macro automatique pour supprimer les doublons générés dans la feuille "opérateur" juste dans la colonne A?
Pour régler ce problème, j'ai ajouté la ligne de code suivante :
Code:
[COLOR=NAVY]If[/COLOR] Application.CountIf(.Columns(1), TabTemp(L2)) = 0 [COLOR=NAVY]Then[/COLOR]
qui signifie en gros : exécute le code qui suit si l'expression TabTemp(L2) n'existe pas déjà dans la colonne A.

Pour conclure et compte tenu du changement de données à récupérer semble-t'il (uniquement l'opérateur cette fois), je te propose la dernière version de la procédure WebBrowser1_DocumentComplete() comme suit :
Code:
[COLOR=NAVY]Private Sub[/COLOR] WebBrowser1_DocumentComplete([COLOR=NAVY]ByVal[/COLOR] pDisp [COLOR=NAVY]As Object[/COLOR], URL [COLOR=NAVY]As Variant[/COLOR])
[COLOR=NAVY]Dim[/COLOR] TabTemp [COLOR=NAVY]As Variant
Dim[/COLOR] L2 [COLOR=NAVY]As Long[/COLOR], Lign [COLOR=NAVY]As Long
Static[/COLOR] L [COLOR=NAVY]As Long
    If[/COLOR] URL = UrlDepart [COLOR=NAVY]Then
        If[/COLOR] Cells(1, 1).Interior.ColorIndex = xlNone [COLOR=NAVY]Then[/COLOR] L = 0
        L = L + 1
        [COLOR=NAVY]With[/COLOR] WebBrowser1.Document
            .all("[CP][CP]").Value = Cells(L, 1).Text
            .all("B2").Click
            Cells(L, 1).Interior.ColorIndex = 6
    [COLOR=NAVY]    End [/COLOR]With
[COLOR=NAVY]    El[/COLOR]seIf URL = "http://www.france-darts.com/gestion/htm/DPD.A[COLOR=NAVY]SP" [/COLOR]Then
        Application.ScreenUpdatin[COLOR=NAVY]g = F[/COLOR]alse
        TabTemp = Split(WebBrowser1.Document.Body.InnerText(), vbCrLf)
        With Sheets("Opérateur")
            Lign = .Cells(Application.Rows.Count,[COLOR=NAVY] 1)[/COLOR].End(xlUp).Row + 1
            For L2 [COLOR=NAVY]= [/COLOR]8[COLOR=NAVY] To UB[/COLOR]ound(TabTe[COLOR=NAVY]mp) [/COLOR]Step 8
                 If Application.CountIf(.Columns(1), TabTemp(L2)) [COLOR=NAVY]= 0 [/COLOR]Then
                       .Cells(Lign, 1).Value = TabTemp(L2)
                       Lign = Lign + 1
            [COLOR=NAVY]     En[/COLOR]d If
            Next L2
    [COLOR=NAVY]    End [/COLOR]With
        Application.ScreenUpdatin[COLOR=NAVY]g = [/COLOR]True
      If Cells(L + 1, 1) <>[COLOR=NAVY] "" [/COLOR]Then btnGo_Cl[COLOR=NAVY]ick [/COLOR]Else MsgBox ("Traitement terminé !")
[COLOR=NAVY]    En[/COLOR]d[COLOR=NAVY] If
End[/COLOR]
Je pense qu'on s'éloigne peu à peu du sujet de départ qui me semble résolu, à vrai dire. Tu fais comme tu veux, mais le cas échéant, je pense qu'il conviendrait mieux de créer un autre sujet pour la suite de tes investigations car j'ai nettement l'impression d'être devenu ton unique interlocuteur ici, et ce n'est, à mon avis, pas la marche "normale" d'un forum de discussions...

Je te souhaite bonne chance pour la suite.

Très cordialement,
 

Icedarts

XLDnaute Occasionnel
Re : Excel peut-il ouvrir une page internet?

Tu as surement raison je vais ouvrir un autre sujet.

J'avais bien identifié cette ligne:
Code:
Range(Cells(L, 1), Cells(L, 2)).Interior.ColorIndex = 6
Mais je ne comprennais pas pourquoi ça ne fonctionnait pas comme ça:
Code:
Range(Cells(L, 1)).Interior.ColorIndex = 6
Il faut vraiment tout transformé! lol
Merci pour ton aide à bientôt peut être sur un autre post.
 

Discussions similaires

Réponses
1
Affichages
191

Statistiques des forums

Discussions
312 299
Messages
2 086 991
Membres
103 420
dernier inscrit
eric.wallet46