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

actualisation tableau Excel avec des données du web

4 réponses
Avatar
chadenet
J'ai un tableau dans lequel chaque cellule doit être actualisée régulièrement
avec des données financières fournies sur le Web. Est-il possible que cette
actualisation se fasse automatiquement lorsque je me connecte sur le site
concerné au lieu d'avoir à entrer manuellement chaque information? Merci
beaucoup d'avance.

4 réponses

Avatar
michdenis
Bonjour Chadenet,

Pour récupérer des données sur un site Web dans excel, voici une adresse qui pourrait te mettre le pied à l'étrier :

http://office.microsoft.com/fr-ca/assistance/HA010450851036.aspx


Voici un exemple complet issu du volume :
"Excel 2002 Programmer's Reference" créé par
Stephen Bullen, John Green, Rob Bovey, Robert Rosemberg
ISBN: 1861005709


'----------------------------------------
Sub GetRatesWithWebQuery()

Dim oBk As Workbook
Dim oQT As QueryTable

'Store the current settings of Excel's number formatting
Dim sDecimal As String
Dim sThousand As String
Dim bUseSystem As Boolean

'Create a new workbook
Set oBk = Workbooks.Add

'Create a query table to download USD rates
With oBk.Worksheets(1)
Set oQT = .QueryTables.Add( _
Connection:="URL;http://www.x-rates.com/tables/USD.html", _
Destination:=.Range("A1"))
End With

'Set the QueryTable's properties
With oQT
.Name = "USD"

'State that we're selecting a specific table
.WebSelectionType = xlSpecifiedTables

'Import the 5th table on the page
.WebTables = "5"

'Ignore the web page's formatting
.WebFormatting = xlWebFormattingNone

'Do not try to recognise dates
.WebDisableDateRecognition = True

'Don't automatically refresh the query each time the file is opened
.RefreshOnFileOpen = False

'Waiting for the query to complete before continuing
.BackgroundQuery = True

'Save the query data with the workbook
.SaveData = True

'Adjust column widths to autofit new data
.AdjustColumnWidth = True
End With

With Application
'Remember Excel's current number format settings
sDecimal = .DecimalSeparator
sThousand = .ThousandsSeparator
bUseSystem = .UseSystemSeparators

'Set Excel's separators to match those of the web site
.DecimalSeparator = "."
.ThousandsSeparator = ","
.UseSystemSeparators = True

'Ignore any errors raised by the query failing
On Error Resume Next

'Perform the query, waiting for it to complete
oQT.Refresh BackgroundQuery:úlse

'Reset Excel's number format settings
.DecimalSeparator = sDecimal
.ThousandsSeparator = sThousand
.UseSystemSeparators = bUseSystem
End With

End Sub
'----------------------------------------


Salutations!



"chadenet" a écrit dans le message de news:

J'ai un tableau dans lequel chaque cellule doit être actualisée régulièrement
avec des données financières fournies sur le Web. Est-il possible que cette
actualisation se fasse automatiquement lorsque je me connecte sur le site
concerné au lieu d'avoir à entrer manuellement chaque information? Merci
beaucoup d'avance.
Avatar
chadenet
merci beaucoup, je suis allée sur l'adresse où j'ai trouvé pas mal d'aide.
Mais je me heurte à de nouveaux pbs: il s'agit de données boursières et d'une
part, je ne sais pas comment dénommer le "plage" qui m'intéresse sur la page
Web; d'autre part certaines données refusent d'être copiées. D'autres idées
pour me permettre d'avancer seront très bienvenues.
Cordialement


Bonjour Chadenet,

Pour récupérer des données sur un site Web dans excel, voici une adresse qui pourrait te mettre le pied à l'étrier :

http://office.microsoft.com/fr-ca/assistance/HA010450851036.aspx


Voici un exemple complet issu du volume :
"Excel 2002 Programmer's Reference" créé par
Stephen Bullen, John Green, Rob Bovey, Robert Rosemberg
ISBN: 1861005709


'----------------------------------------
Sub GetRatesWithWebQuery()

Dim oBk As Workbook
Dim oQT As QueryTable

'Store the current settings of Excel's number formatting
Dim sDecimal As String
Dim sThousand As String
Dim bUseSystem As Boolean

'Create a new workbook
Set oBk = Workbooks.Add

'Create a query table to download USD rates
With oBk.Worksheets(1)
Set oQT = .QueryTables.Add( _
Connection:="URL;http://www.x-rates.com/tables/USD.html", _
Destination:=.Range("A1"))
End With

'Set the QueryTable's properties
With oQT
.Name = "USD"

'State that we're selecting a specific table
.WebSelectionType = xlSpecifiedTables

'Import the 5th table on the page
.WebTables = "5"

'Ignore the web page's formatting
.WebFormatting = xlWebFormattingNone

'Do not try to recognise dates
.WebDisableDateRecognition = True

'Don't automatically refresh the query each time the file is opened
.RefreshOnFileOpen = False

'Waiting for the query to complete before continuing
.BackgroundQuery = True

'Save the query data with the workbook
.SaveData = True

'Adjust column widths to autofit new data
.AdjustColumnWidth = True
End With

With Application
'Remember Excel's current number format settings
sDecimal = .DecimalSeparator
sThousand = .ThousandsSeparator
bUseSystem = .UseSystemSeparators

'Set Excel's separators to match those of the web site
.DecimalSeparator = "."
.ThousandsSeparator = ","
.UseSystemSeparators = True

'Ignore any errors raised by the query failing
On Error Resume Next

'Perform the query, waiting for it to complete
oQT.Refresh BackgroundQuery:úlse

'Reset Excel's number format settings
.DecimalSeparator = sDecimal
.ThousandsSeparator = sThousand
.UseSystemSeparators = bUseSystem
End With

End Sub
'----------------------------------------


Salutations!



"chadenet" a écrit dans le message de news:

J'ai un tableau dans lequel chaque cellule doit être actualisée régulièrement
avec des données financières fournies sur le Web. Est-il possible que cette
actualisation se fasse automatiquement lorsque je me connecte sur le site
concerné au lieu d'avoir à entrer manuellement chaque information? Merci
beaucoup d'avance.





Avatar
michdenis
Bonjour Chadenet,


C'est ce qu'il faut savoir, ce ne sont pas tous les sites qui se prêtent bien à des importations de données de ce type. Ces données
doivent avoir été créé en utilisant, je crois « des tableaux » au moment de la conception du ou des sites internet visés. Or, je
suppose que certains créateurs de site internet ne sont, soient pas au courant de la chose ou soit qu'ils le font volontairement
lorsqu'il s'agit de rendre accessible les données qu'ils publient sur leur site.

Quoi qu'il en soit, lorsque tu es sur le site en question, à partir du menu (Internet Explorer) Affichage/Source/le code HTML de la
page visée s'affiche et là, avec un petit peu de pratique et de perspicacité, tu peux déceler le « numéro du tableau » où sont
inscrites les données que tu veux importer. (Je n'ai pas dit que cela était facile!!!)

Dans le code que je t'ai soumis, ce numéro se transmet à cette ligne de code :
'Import the 5th table on the page
.WebTables = "5"
La signification de ce "5" renseigne Excel à savoir que tu veux la 5e table de ladite page qui est en faite la cinquième occurrence
d'un "Tag " <Table> dans le code HTML.


Amuse toi bien !


Salutations!






"chadenet" a écrit dans le message de news:

merci beaucoup, je suis allée sur l'adresse où j'ai trouvé pas mal d'aide.
Mais je me heurte à de nouveaux pbs: il s'agit de données boursières et d'une
part, je ne sais pas comment dénommer le "plage" qui m'intéresse sur la page
Web; d'autre part certaines données refusent d'être copiées. D'autres idées
pour me permettre d'avancer seront très bienvenues.
Cordialement


Bonjour Chadenet,

Pour récupérer des données sur un site Web dans excel, voici une adresse qui pourrait te mettre le pied à l'étrier :

http://office.microsoft.com/fr-ca/assistance/HA010450851036.aspx


Voici un exemple complet issu du volume :
"Excel 2002 Programmer's Reference" créé par
Stephen Bullen, John Green, Rob Bovey, Robert Rosemberg
ISBN: 1861005709


'----------------------------------------
Sub GetRatesWithWebQuery()

Dim oBk As Workbook
Dim oQT As QueryTable

'Store the current settings of Excel's number formatting
Dim sDecimal As String
Dim sThousand As String
Dim bUseSystem As Boolean

'Create a new workbook
Set oBk = Workbooks.Add

'Create a query table to download USD rates
With oBk.Worksheets(1)
Set oQT = .QueryTables.Add( _
Connection:="URL;http://www.x-rates.com/tables/USD.html", _
Destination:=.Range("A1"))
End With

'Set the QueryTable's properties
With oQT
.Name = "USD"

'State that we're selecting a specific table
.WebSelectionType = xlSpecifiedTables

'Import the 5th table on the page
.WebTables = "5"

'Ignore the web page's formatting
.WebFormatting = xlWebFormattingNone

'Do not try to recognise dates
.WebDisableDateRecognition = True

'Don't automatically refresh the query each time the file is opened
.RefreshOnFileOpen = False

'Waiting for the query to complete before continuing
.BackgroundQuery = True

'Save the query data with the workbook
.SaveData = True

'Adjust column widths to autofit new data
.AdjustColumnWidth = True
End With

With Application
'Remember Excel's current number format settings
sDecimal = .DecimalSeparator
sThousand = .ThousandsSeparator
bUseSystem = .UseSystemSeparators

'Set Excel's separators to match those of the web site
.DecimalSeparator = "."
.ThousandsSeparator = ","
.UseSystemSeparators = True

'Ignore any errors raised by the query failing
On Error Resume Next

'Perform the query, waiting for it to complete
oQT.Refresh BackgroundQuery:úlse

'Reset Excel's number format settings
.DecimalSeparator = sDecimal
.ThousandsSeparator = sThousand
.UseSystemSeparators = bUseSystem
End With

End Sub
'----------------------------------------


Salutations!



"chadenet" a écrit dans le message de news:

J'ai un tableau dans lequel chaque cellule doit être actualisée régulièrement
avec des données financières fournies sur le Web. Est-il possible que cette
actualisation se fasse automatiquement lorsque je me connecte sur le site
concerné au lieu d'avoir à entrer manuellement chaque information? Merci
beaucoup d'avance.





Avatar
chadenet
bonsoir michdenis, j'ai du pain sur la planche et je vais m'y mettre !!!
merci pour tout.


Bonjour Chadenet,


C'est ce qu'il faut savoir, ce ne sont pas tous les sites qui se prêtent bien à des importations de données de ce type. Ces données
doivent avoir été créé en utilisant, je crois « des tableaux » au moment de la conception du ou des sites internet visés. Or, je
suppose que certains créateurs de site internet ne sont, soient pas au courant de la chose ou soit qu'ils le font volontairement
lorsqu'il s'agit de rendre accessible les données qu'ils publient sur leur site.

Quoi qu'il en soit, lorsque tu es sur le site en question, à partir du menu (Internet Explorer) Affichage/Source/le code HTML de la
page visée s'affiche et là, avec un petit peu de pratique et de perspicacité, tu peux déceler le « numéro du tableau » où sont
inscrites les données que tu veux importer. (Je n'ai pas dit que cela était facile!!!)

Dans le code que je t'ai soumis, ce numéro se transmet à cette ligne de code :
'Import the 5th table on the page
..WebTables = "5"
La signification de ce "5" renseigne Excel à savoir que tu veux la 5e table de ladite page qui est en faite la cinquième occurrence
d'un "Tag " <Table> dans le code HTML.


Amuse toi bien !


Salutations!






"chadenet" a écrit dans le message de news:

merci beaucoup, je suis allée sur l'adresse où j'ai trouvé pas mal d'aide.
Mais je me heurte à de nouveaux pbs: il s'agit de données boursières et d'une
part, je ne sais pas comment dénommer le "plage" qui m'intéresse sur la page
Web; d'autre part certaines données refusent d'être copiées. D'autres idées
pour me permettre d'avancer seront très bienvenues.
Cordialement


Bonjour Chadenet,

Pour récupérer des données sur un site Web dans excel, voici une adresse qui pourrait te mettre le pied à l'étrier :

http://office.microsoft.com/fr-ca/assistance/HA010450851036.aspx


Voici un exemple complet issu du volume :
"Excel 2002 Programmer's Reference" créé par
Stephen Bullen, John Green, Rob Bovey, Robert Rosemberg
ISBN: 1861005709


'----------------------------------------
Sub GetRatesWithWebQuery()

Dim oBk As Workbook
Dim oQT As QueryTable

'Store the current settings of Excel's number formatting
Dim sDecimal As String
Dim sThousand As String
Dim bUseSystem As Boolean

'Create a new workbook
Set oBk = Workbooks.Add

'Create a query table to download USD rates
With oBk.Worksheets(1)
Set oQT = .QueryTables.Add( _
Connection:="URL;http://www.x-rates.com/tables/USD.html", _
Destination:=.Range("A1"))
End With

'Set the QueryTable's properties
With oQT
.Name = "USD"

'State that we're selecting a specific table
.WebSelectionType = xlSpecifiedTables

'Import the 5th table on the page
.WebTables = "5"

'Ignore the web page's formatting
.WebFormatting = xlWebFormattingNone

'Do not try to recognise dates
.WebDisableDateRecognition = True

'Don't automatically refresh the query each time the file is opened
.RefreshOnFileOpen = False

'Waiting for the query to complete before continuing
.BackgroundQuery = True

'Save the query data with the workbook
.SaveData = True

'Adjust column widths to autofit new data
.AdjustColumnWidth = True
End With

With Application
'Remember Excel's current number format settings
sDecimal = .DecimalSeparator
sThousand = .ThousandsSeparator
bUseSystem = .UseSystemSeparators

'Set Excel's separators to match those of the web site
.DecimalSeparator = "."
.ThousandsSeparator = ","
.UseSystemSeparators = True

'Ignore any errors raised by the query failing
On Error Resume Next

'Perform the query, waiting for it to complete
oQT.Refresh BackgroundQuery:úlse

'Reset Excel's number format settings
.DecimalSeparator = sDecimal
.ThousandsSeparator = sThousand
.UseSystemSeparators = bUseSystem
End With

End Sub
'----------------------------------------


Salutations!



"chadenet" a écrit dans le message de news:

J'ai un tableau dans lequel chaque cellule doit être actualisée régulièrement
avec des données financières fournies sur le Web. Est-il possible que cette
actualisation se fasse automatiquement lorsque je me connecte sur le site
concerné au lieu d'avoir à entrer manuellement chaque information? Merci
beaucoup d'avance.