Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

5 réponses
Avatar
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

5 réponses

Avatar
Luc Voeltzel
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" a écrit dans le
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


Avatar
robert31300
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" a écrit dans le
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







Avatar
Luc Voeltzel
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" a écrit dans le
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" a écrit dans le
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









Avatar
Luc Voeltzel
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" a écrit dans le message de
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" a écrit dans le
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" a écrit dans le
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













Avatar
robert31300
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" a écrit dans le message de
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" a écrit dans le
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" a écrit dans le
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