récupérer des données format html dans un tableau Excel

Le
robert31300
Bonjour,
Je cherche à récupérer des données au format html dans un tableau Excel. Je
suppose qu'il faut écrire une macro VBA pour cela. Mon inexpérience me pousse
à demander votre aide. Merci d'avance de voir ce que vous pouvez faire pour
me venir en aide.
Cordialement à toutes et tous.
Robert
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Luc Voeltzel
Le #4366831
Bonsoir,

ci dessous une macro qui permet de rapatrier une page html dans la feuille
"temp" du classeur (feuille à créer). Il suffit de remplacer le code avec la
bonne addresse url. Il faudra aussi adapter la macro pour récupérer la plage
intéressante de la page html sur la feuille finale par un copier-coller.
ATTENTION : la macro efface toute donnée sur la feuille temp avant le
téléchargement de la page html !

cordialement,
:-)
Luc

Public Sub tele()
Dim sht As Worksheet
Dim url As String

url "http://www.tsr.ch/tsr/index.html?siteSect`1000&jourNum=1&Ftime=1&idChaine
"

Set sht = Sheets("temp")
sht.Cells.Clear

With sht.QueryTables.Add("URL;" & url & "", sht.Range("A1"))

.FieldNames = True

.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle Excel.XlCellInsertionMode.xlInsertDeleteCells
.SavePassword = True
.SaveData = True

.Refresh BackgroundQuery:úlse
End With

End Sub





"robert31300" message de news:
Bonjour,
Je cherche à récupérer des données au format html dans un tableau Excel.
Je

suppose qu'il faut écrire une macro VBA pour cela. Mon inexpérience me
pousse

à demander votre aide. Merci d'avance de voir ce que vous pouvez faire
pour

me venir en aide.
Cordialement à toutes et tous.
Robert


robert31300
Le #4365881
Bonjour Luc,

Tout d'abord merci pour votre réponse rapide. J'aurais dû préciser que je ne
vais pas chercher les pages html sut le net. Elles sont générées dans un
répertoire sur le micro (par exemple sous "c:mes données". Le véritable
problème est de savoir comment récupèrer les valeurs de ce fichier html pour
les charger dans mon tableau Excel et au bon endroit. Je ne connais pas du
tout VBA ... mea culpa, mea culpa, mea maxima culpa !!!
Si je pouvais avoir quelques éclaircissements à ce sujet. Merci d'avance.
Cordialement.
-:)
Robert



Bonsoir,

ci dessous une macro qui permet de rapatrier une page html dans la feuille
"temp" du classeur (feuille à créer). Il suffit de remplacer le code avec la
bonne addresse url. Il faudra aussi adapter la macro pour récupérer la plage
intéressante de la page html sur la feuille finale par un copier-coller.
ATTENTION : la macro efface toute donnée sur la feuille temp avant le
téléchargement de la page html !

cordialement,
:-)
Luc

Public Sub tele()
Dim sht As Worksheet
Dim url As String

url > "http://www.tsr.ch/tsr/index.html?siteSect`1000&jourNum=1&Ftime=1&idChaine
"

Set sht = Sheets("temp")
sht.Cells.Clear

With sht.QueryTables.Add("URL;" & url & "", sht.Range("A1"))

.FieldNames = True

.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle > Excel.XlCellInsertionMode.xlInsertDeleteCells
.SavePassword = True
.SaveData = True

.Refresh BackgroundQuery:úlse
End With

End Sub





"robert31300" message de news:
Bonjour,
Je cherche à récupérer des données au format html dans un tableau Excel.
Je

suppose qu'il faut écrire une macro VBA pour cela. Mon inexpérience me
pousse

à demander votre aide. Merci d'avance de voir ce que vous pouvez faire
pour

me venir en aide.
Cordialement à toutes et tous.
Robert







Luc Voeltzel
Le #4217431
Bonsoir Robert,

ci dessous une macro adaptée et plus claire (avec des commentaires
explicatifs derrière les guillemets).
Pour la faire fonctionner il faut :
- ouvrir un fichier Excel et le sauver
- renommer une de ses feuilles avec le nom "temp"
- ouvrir l'éditeur VBA (après avoir ouvert Excel). : ALT+F11
- cliquer dans la barre des menus sur insertion
- choisir module
- coller dans la feuille crée (fichier.xls - Module1), le code fourni
ci-dessous
- si le collage a réussi, aucune ligne ne doit apparaitre en rouge
- adapter l'adresse url pour le bon fichier : on remplace
"C:/WINDOWS/Bureau/bookmarks.html" par
"c:mes donnéesmonfichier.html"
- sauver le code : CTRL+S

Voilà, cela devrait fonctionner.

Bon essai :-)





Pour lancer la macro :
- depuis l'éditeur VBA : touche play
- depuis excel : Outils>> macros>>macros ou touche play dans la barre
d'outil des macros

Public Sub récupérer_mes_données_html()
Dim sht As Worksheet ' la feuille de rapatriement
Dim url As String ' l'adresse url (internet ou locale)

' le fichier rapatrié est le fichier bookmarks.html, présent sur mon
bureau Windows
url = "C:/WINDOWS/Bureau/bookmarks.html"

Set sht = Sheets("temp")

' attention : la manip suivante efface toutes les données présentes sur la
feuille temp
' (moyen efficace pour tout réinitialiser)

sht.Cells.Clear

' la procédure de rapatriement proprement dite
With sht.QueryTables.Add("URL;" & url & "", sht.Range("A1"))
'sht.range("A1") = cellule cible où doit être rapatrié le
tableau html

.RefreshStyle Excel.XlCellInsertionMode.xlInsertDeleteCells
.SaveData = True
.Refresh BackgroundQuery:úlse
End With

' manipulations pour une meilleure présentation
sht.Cells.MergeCells = False 'supprime toutes les celules
fusionnées dans la feuille
sht.Cells.EntireColumn.AutoFit 'adapte la largeur des colonnes au
contenu des cellules


End Sub





"robert31300" message de news:
Bonjour Luc,

Tout d'abord merci pour votre réponse rapide. J'aurais dû préciser que je
ne

vais pas chercher les pages html sut le net. Elles sont générées dans un
répertoire sur le micro (par exemple sous "c:mes données". Le véritable
problème est de savoir comment récupèrer les valeurs de ce fichier html
pour

les charger dans mon tableau Excel et au bon endroit. Je ne connais pas du
tout VBA ... mea culpa, mea culpa, mea maxima culpa !!!
Si je pouvais avoir quelques éclaircissements à ce sujet. Merci d'avance.
Cordialement.
-:)
Robert



Bonsoir,

ci dessous une macro qui permet de rapatrier une page html dans la
feuille


"temp" du classeur (feuille à créer). Il suffit de remplacer le code
avec la


bonne addresse url. Il faudra aussi adapter la macro pour récupérer la
plage


intéressante de la page html sur la feuille finale par un copier-coller.
ATTENTION : la macro efface toute donnée sur la feuille temp avant le
téléchargement de la page html !

cordialement,
:-)
Luc

Public Sub tele()
Dim sht As Worksheet
Dim url As String

url > >
"http://www.tsr.ch/tsr/index.html?siteSect`1000&jourNum=1&Ftime=1&idChaine


"

Set sht = Sheets("temp")
sht.Cells.Clear

With sht.QueryTables.Add("URL;" & url & "", sht.Range("A1"))

.FieldNames = True

.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle > > Excel.XlCellInsertionMode.xlInsertDeleteCells
.SavePassword = True
.SaveData = True

.Refresh BackgroundQuery:úlse
End With

End Sub





"robert31300" message de news:
Bonjour,
Je cherche à récupérer des données au format html dans un tableau
Excel.



Je
suppose qu'il faut écrire une macro VBA pour cela. Mon inexpérience me
pousse

à demander votre aide. Merci d'avance de voir ce que vous pouvez faire
pour

me venir en aide.
Cordialement à toutes et tous.
Robert









Luc Voeltzel
Le #4215421
Oups, il y a un correctif par rapport au message précédent :

- adapter l'adresse url pour le bon fichier : on remplace
"C:/WINDOWS/Bureau/bookmarks.html" par
"c:/mes données/monfichier.html"

excuses,
:o)



"Luc Voeltzel" news:
Bonsoir Robert,

ci dessous une macro adaptée et plus claire (avec des commentaires
explicatifs derrière les guillemets).
Pour la faire fonctionner il faut :
- ouvrir un fichier Excel et le sauver
- renommer une de ses feuilles avec le nom "temp"
- ouvrir l'éditeur VBA (après avoir ouvert Excel). : ALT+F11
- cliquer dans la barre des menus sur insertion
- choisir module
- coller dans la feuille crée (fichier.xls - Module1), le code fourni
ci-dessous
- si le collage a réussi, aucune ligne ne doit apparaitre en rouge
- adapter l'adresse url pour le bon fichier : on remplace
"C:/WINDOWS/Bureau/bookmarks.html" par
"c:mes donnéesmonfichier.html"
- sauver le code : CTRL+S

Voilà, cela devrait fonctionner.

Bon essai :-)





Pour lancer la macro :
- depuis l'éditeur VBA : touche play
- depuis excel : Outils>> macros>>macros ou touche play dans la barre
d'outil des macros

Public Sub récupérer_mes_données_html()
Dim sht As Worksheet ' la feuille de rapatriement
Dim url As String ' l'adresse url (internet ou locale)

' le fichier rapatrié est le fichier bookmarks.html, présent sur mon
bureau Windows
url = "C:/WINDOWS/Bureau/bookmarks.html"

Set sht = Sheets("temp")

' attention : la manip suivante efface toutes les données présentes sur
la

feuille temp
' (moyen efficace pour tout réinitialiser)

sht.Cells.Clear

' la procédure de rapatriement proprement dite
With sht.QueryTables.Add("URL;" & url & "", sht.Range("A1"))
'sht.range("A1") = cellule cible où doit être rapatrié le
tableau html

.RefreshStyle > Excel.XlCellInsertionMode.xlInsertDeleteCells
.SaveData = True
.Refresh BackgroundQuery:úlse
End With

' manipulations pour une meilleure présentation
sht.Cells.MergeCells = False 'supprime toutes les celules
fusionnées dans la feuille
sht.Cells.EntireColumn.AutoFit 'adapte la largeur des colonnes au
contenu des cellules


End Sub





"robert31300" message de news:
Bonjour Luc,

Tout d'abord merci pour votre réponse rapide. J'aurais dû préciser que
je


ne
vais pas chercher les pages html sut le net. Elles sont générées dans un
répertoire sur le micro (par exemple sous "c:mes données". Le véritable
problème est de savoir comment récupèrer les valeurs de ce fichier html
pour

les charger dans mon tableau Excel et au bon endroit. Je ne connais pas
du


tout VBA ... mea culpa, mea culpa, mea maxima culpa !!!
Si je pouvais avoir quelques éclaircissements à ce sujet. Merci
d'avance.


Cordialement.
-:)
Robert



Bonsoir,

ci dessous une macro qui permet de rapatrier une page html dans la
feuille


"temp" du classeur (feuille à créer). Il suffit de remplacer le code
avec la


bonne addresse url. Il faudra aussi adapter la macro pour récupérer la
plage


intéressante de la page html sur la feuille finale par un
copier-coller.



ATTENTION : la macro efface toute donnée sur la feuille temp avant le
téléchargement de la page html !

cordialement,
:-)
Luc

Public Sub tele()
Dim sht As Worksheet
Dim url As String

url > > >



"http://www.tsr.ch/tsr/index.html?siteSect`1000&jourNum=1&Ftime=1&idChaine

"

Set sht = Sheets("temp")
sht.Cells.Clear

With sht.QueryTables.Add("URL;" & url & "", sht.Range("A1"))

.FieldNames = True

.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle > > > Excel.XlCellInsertionMode.xlInsertDeleteCells
.SavePassword = True
.SaveData = True

.Refresh BackgroundQuery:úlse
End With

End Sub





"robert31300" message de news:
Bonjour,
Je cherche à récupérer des données au format html dans un tableau
Excel.



Je
suppose qu'il faut écrire une macro VBA pour cela. Mon inexpérience
me




pousse
à demander votre aide. Merci d'avance de voir ce que vous pouvez
faire




pour
me venir en aide.
Cordialement à toutes et tous.
Robert













robert31300
Le #4212121
Bonjour Luc,

Merci pour ta disponibilité. Je vais pouvoir me débrouiller grâce à ton aide
qui m'a été très précieuse.
Bonne continuation.
Très cordialement.
-:) Robert


Oups, il y a un correctif par rapport au message précédent :

- adapter l'adresse url pour le bon fichier : on remplace
"C:/WINDOWS/Bureau/bookmarks.html" par
"c:/mes données/monfichier.html"

excuses,
:o)



"Luc Voeltzel" news:
Bonsoir Robert,

ci dessous une macro adaptée et plus claire (avec des commentaires
explicatifs derrière les guillemets).
Pour la faire fonctionner il faut :
- ouvrir un fichier Excel et le sauver
- renommer une de ses feuilles avec le nom "temp"
- ouvrir l'éditeur VBA (après avoir ouvert Excel). : ALT+F11
- cliquer dans la barre des menus sur insertion
- choisir module
- coller dans la feuille crée (fichier.xls - Module1), le code fourni
ci-dessous
- si le collage a réussi, aucune ligne ne doit apparaitre en rouge
- adapter l'adresse url pour le bon fichier : on remplace
"C:/WINDOWS/Bureau/bookmarks.html" par
"c:mes donnéesmonfichier.html"
- sauver le code : CTRL+S

Voilà, cela devrait fonctionner.

Bon essai :-)





Pour lancer la macro :
- depuis l'éditeur VBA : touche play
- depuis excel : Outils>> macros>>macros ou touche play dans la barre
d'outil des macros

Public Sub récupérer_mes_données_html()
Dim sht As Worksheet ' la feuille de rapatriement
Dim url As String ' l'adresse url (internet ou locale)

' le fichier rapatrié est le fichier bookmarks.html, présent sur mon
bureau Windows
url = "C:/WINDOWS/Bureau/bookmarks.html"

Set sht = Sheets("temp")

' attention : la manip suivante efface toutes les données présentes sur
la

feuille temp
' (moyen efficace pour tout réinitialiser)

sht.Cells.Clear

' la procédure de rapatriement proprement dite
With sht.QueryTables.Add("URL;" & url & "", sht.Range("A1"))
'sht.range("A1") = cellule cible où doit être rapatrié le
tableau html

.RefreshStyle > > Excel.XlCellInsertionMode.xlInsertDeleteCells
.SaveData = True
.Refresh BackgroundQuery:úlse
End With

' manipulations pour une meilleure présentation
sht.Cells.MergeCells = False 'supprime toutes les celules
fusionnées dans la feuille
sht.Cells.EntireColumn.AutoFit 'adapte la largeur des colonnes au
contenu des cellules


End Sub





"robert31300" message de news:
Bonjour Luc,

Tout d'abord merci pour votre réponse rapide. J'aurais dû préciser que
je


ne
vais pas chercher les pages html sut le net. Elles sont générées dans un
répertoire sur le micro (par exemple sous "c:mes données". Le véritable
problème est de savoir comment récupèrer les valeurs de ce fichier html
pour

les charger dans mon tableau Excel et au bon endroit. Je ne connais pas
du


tout VBA ... mea culpa, mea culpa, mea maxima culpa !!!
Si je pouvais avoir quelques éclaircissements à ce sujet. Merci
d'avance.


Cordialement.
-:)
Robert



Bonsoir,

ci dessous une macro qui permet de rapatrier une page html dans la
feuille


"temp" du classeur (feuille à créer). Il suffit de remplacer le code
avec la


bonne addresse url. Il faudra aussi adapter la macro pour récupérer la
plage


intéressante de la page html sur la feuille finale par un
copier-coller.



ATTENTION : la macro efface toute donnée sur la feuille temp avant le
téléchargement de la page html !

cordialement,
:-)
Luc

Public Sub tele()
Dim sht As Worksheet
Dim url As String

url > > > >



"http://www.tsr.ch/tsr/index.html?siteSect`1000&jourNum=1&Ftime=1&idChaine

"

Set sht = Sheets("temp")
sht.Cells.Clear

With sht.QueryTables.Add("URL;" & url & "", sht.Range("A1"))

.FieldNames = True

.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle > > > > Excel.XlCellInsertionMode.xlInsertDeleteCells
.SavePassword = True
.SaveData = True

.Refresh BackgroundQuery:úlse
End With

End Sub





"robert31300" message de news:
Bonjour,
Je cherche à récupérer des données au format html dans un tableau
Excel.



Je
suppose qu'il faut écrire une macro VBA pour cela. Mon inexpérience
me




pousse
à demander votre aide. Merci d'avance de voir ce que vous pouvez
faire




pour
me venir en aide.
Cordialement à toutes et tous.
Robert


















Publicité
Poster une réponse
Anonyme