begin process at 2008 07 19 08:53:36
1 212 721 membres
60 nouveaux aujourd'hui
14 165 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PROGRAMME TV : COLLECTE DES INFOS SUR SITE WEB (REQUETE WEB DANS EXCEL)


Information sur la source

Description

Petit programme qui va collecter sur un site web (www.tsr.ch = télévision suisse romande) les infos suivant le jour et la chaîne TV demandés + Envoi des données dans Excel grâce à une requête Web.

A l'ouverture du programme, il suffit de sélectionner le jour et la chaîne, et de cliquer sur le logo de la chaîne. Cela lance une requête web via Excel (vérifier la connexion). Le résultat s'affiche ensuite à l'écran...

REM : Pour l'instant ne retourne que l'horaire et le titre de l'émission principale du soir. Mais modification du code possible pour retourner plus d'infos.

Source

  • Private Sub collecterInfos()
  • Dim xlApp As Excel.Application
  • Dim xlClasseur As Excel._Workbook
  • Dim xlFeuill As Excel._Worksheet
  • Dim siteWeb As String
  • Dim chaine As Integer
  • Dim myProcesses() As Process
  • Dim myProcess As Process
  • ' Modification de la chaine dans le cas où l'index de la combo est supérieur à 2
  • ' Car sur le site d'où proviennent mes infos les index sont incrémentés 1, 2, 10, 11, 12, 13,... (saut de 2 à 10)
  • If cboChaine.SelectedIndex > 2 Then
  • chaine = cboChaine.SelectedIndex + 8
  • Else
  • chaine = cboChaine.SelectedIndex + 1
  • End If
  • ' Construction de l'URL
  • ' REM : recherche des infos sur le site de la TSR
  • siteWeb = "http://www.tsr.ch/tsr/index.html?siteSect=601000&idChaine=" & chaine & "&jourD=" & cboJour.Text & "&Ftime=1"
  • ' Nouvelle application Excel
  • xlApp = New Excel.Application
  • ' Reste invisible
  • xlApp.Visible = False
  • ' Ajout d'un onglet
  • xlClasseur = xlApp.Workbooks.Add
  • Dim xlFeuilles As Excel.Sheets = xlClasseur.Sheets
  • xlFeuill = xlFeuilles(1)
  • ' Vide la feuille de son contenu
  • With xlFeuill
  • .Cells.ClearContents()
  • End With
  • ' Macro qui va rechercher les infos sur le site Web
  • With xlFeuill.QueryTables.Add("URL;" & siteWeb & "", xlFeuill.Range("A1"))
  • .Name = "index.html?siteSect=601000&jourD=" & cboJour.Text & "&Ftime=1&idChaine=" & chaine & ""
  • .FieldNames = True
  • .RowNumbers = False
  • .FillAdjacentFormulas = False
  • .PreserveFormatting = True
  • .RefreshOnFileOpen = False
  • .BackgroundQuery = True
  • .RefreshStyle = Excel.XlCellInsertionMode.xlInsertDeleteCells
  • .SavePassword = True
  • .SaveData = True
  • .AdjustColumnWidth = True
  • .RefreshPeriod = 0
  • .WebSelectionType = Excel.XlWebSelectionType.xlSpecifiedTables
  • .WebFormatting = Excel.XlWebFormatting.xlWebFormattingNone
  • .WebTables = "39"
  • .WebPreFormattedTextToColumns = True
  • .WebConsecutiveDelimitersAsOne = True
  • .WebSingleBlockTextImport = False
  • .WebDisableDateRecognition = False
  • .WebDisableRedirections = False
  • .Refresh(BackgroundQuery:=False)
  • End With
  • ' Sélection des cellules dont on a besoin
  • txtHoraire.Text = xlFeuill.Range("B3").Text
  • txtTitre.Text = xlFeuill.Range("C3").Text
  • txtRemarque.Text = xlFeuill.Range("B5").Text
  • ' Fermeture de l'application sans sauvegarde
  • xlClasseur.Close(False)
  • xlApp.Quit()
  • ' Contrôle des process
  • ' Si un process EXCEL tourne encore je le flingue...
  • myProcesses = Process.GetProcesses()
  • For Each myProcess In myProcesses
  • If UCase(myProcess.ProcessName) = "EXCEL" Then
  • myProcess.Kill()
  • End If
  • Next
  • End Sub
Private Sub collecterInfos()

Dim xlApp As Excel.Application
Dim xlClasseur As Excel._Workbook
Dim xlFeuill As Excel._Worksheet
Dim siteWeb As String
Dim chaine As Integer
Dim myProcesses() As Process
Dim myProcess As Process

' Modification de la chaine dans le cas où l'index de la combo est supérieur à 2
' Car sur le site d'où proviennent mes infos les index sont incrémentés 1, 2, 10, 11, 12, 13,... (saut de 2 à 10)
If cboChaine.SelectedIndex > 2 Then
   chaine = cboChaine.SelectedIndex + 8
Else
   chaine = cboChaine.SelectedIndex + 1
End If

' Construction de l'URL
' REM : recherche des infos sur le site de la TSR
siteWeb = "http://www.tsr.ch/tsr/index.html?siteSect=601000&idChaine=" & chaine & "&jourD=" & cboJour.Text & "&Ftime=1"

' Nouvelle application  Excel
xlApp = New Excel.Application
' Reste invisible
xlApp.Visible = False
' Ajout d'un onglet
xlClasseur = xlApp.Workbooks.Add

Dim xlFeuilles As Excel.Sheets = xlClasseur.Sheets
xlFeuill = xlFeuilles(1)

' Vide la feuille de son contenu
With xlFeuill
   .Cells.ClearContents()
End With

' Macro qui va rechercher les infos sur le site Web
With xlFeuill.QueryTables.Add("URL;" & siteWeb & "", xlFeuill.Range("A1"))
   .Name = "index.html?siteSect=601000&jourD=" & cboJour.Text & "&Ftime=1&idChaine=" & chaine & ""
   .FieldNames = True
   .RowNumbers = False
   .FillAdjacentFormulas = False
   .PreserveFormatting = True
   .RefreshOnFileOpen = False
   .BackgroundQuery = True
   .RefreshStyle = Excel.XlCellInsertionMode.xlInsertDeleteCells
   .SavePassword = True
   .SaveData = True
   .AdjustColumnWidth = True
   .RefreshPeriod = 0
   .WebSelectionType = Excel.XlWebSelectionType.xlSpecifiedTables
   .WebFormatting = Excel.XlWebFormatting.xlWebFormattingNone
   .WebTables = "39"
   .WebPreFormattedTextToColumns = True
   .WebConsecutiveDelimitersAsOne = True
   .WebSingleBlockTextImport = False
   .WebDisableDateRecognition = False
   .WebDisableRedirections = False
   .Refresh(BackgroundQuery:=False)
End With

' Sélection des cellules dont on a besoin
txtHoraire.Text = xlFeuill.Range("B3").Text
txtTitre.Text = xlFeuill.Range("C3").Text
txtRemarque.Text = xlFeuill.Range("B5").Text

' Fermeture de l'application sans sauvegarde
xlClasseur.Close(False)
xlApp.Quit()

' Contrôle des process
' Si un process EXCEL tourne encore je le flingue...
myProcesses = Process.GetProcesses()

For Each myProcess In myProcesses
   If UCase(myProcess.ProcessName) = "EXCEL" Then
      myProcess.Kill()
   End If
Next

End Sub
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de spy166 le 27/04/2004 19:49:49

    Oulà oulà !!
    Mais pourquoi donc passes tu par excel ?

  • signaler à un administrateur
    Commentaire de bidoch78 le 28/04/2004 10:21:38

    peut etre pour facilité l'analyse syntaxique de la page HTML ????

  • signaler à un administrateur
    Commentaire de wallon14 le 28/04/2004 11:28:46

    C'est très bien de passer par excel ! Et je cherchai justement un système de récupération d'infos sur pages web sous Excel !

    GG !

  • signaler à un administrateur
    Commentaire de olly le 29/04/2004 00:16:58

    tu t pas fait chier pr le trie des données, pour ceux qui n'ont pas exel c pas cool. tu peut faire la mm chose avec un winsock et de luile de coude ^^moi g fait la mm chose avec un programme qui va les chercher et ki les mé dans ma page dacceuil et c karement mieux avec un winsock

  • signaler à un administrateur
    Commentaire de spy166 le 29/04/2004 13:36:34

    C'est carrément mieu avec System.Net surtout!!

  • signaler à un administrateur
    Commentaire de olly le 29/04/2004 14:05:02

    chacun sa merde :d

  • signaler à un administrateur
    Commentaire de sehn le 29/04/2004 17:58:42


    Pas mal du tout !!!
    Comment tu fais pour lire sur une page Web et recuperer 1 information?
    je ne comprends pas

    Merci
    SeHN

  • signaler à un administrateur
    Commentaire de sehn le 29/04/2004 18:18:57

    ok j'ai compris

  • signaler à un administrateur
    Commentaire de ludovicanceaux le 25/08/2004 00:51:35

    superbe source 8/10
    au fait alor tu as resorti une autre version (je sai pô ce que tu a dis en haut, tu as dis ke tu allai le modifié encore)

  • signaler à un administrateur
    Commentaire de ludovicanceaux le 25/08/2004 00:56:34

    & ce message s'adresse à olly & à spy166
    je voudrai savoir vs n'avez pô des sources du même style pour voir votre methode à vous avec:
    - System.Net
    - & avec un winsock

  • signaler à un administrateur
    Commentaire de olly le 25/08/2004 13:02:43

    ben jenvoi une reuqete en winsock a programme-tv.net la jrecoi le code source de la page, jfé le tri et g mon programme et vla sque ca donne une foi trié et inséré ds ma page dacceuil (automatiquement a cahque lancement) :
    http://www.olly.free.fr/tv.jpg

  • signaler à un administrateur
    Commentaire de vbmarh le 10/10/2005 00:20:13

    he comment marche votre truc eclairer moi  je suis novice
    j ai essayé d ouvrir le rendu du zip com projet sur vb6 mais appamrm c pas ca!
    comment faire alors ?

  • signaler à un administrateur
    Commentaire de ludovicanceaux le 10/10/2005 11:38:09

    ca ne marche pô sur VISUAL BASIC 6, cela marche seulement sur VISUAL BASIC .NET

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS