Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion : inqr9u$mqb$
MichD a écrit, le 08/04/2011 16:27 :Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion : inqr9u$mqb$1@speranza.aioe.org...
MichD a écrit, le 08/04/2011 16:27 :
Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion : inqr9u$mqb$
MichD a écrit, le 08/04/2011 16:27 :Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion : inqr9u$mqb$
MichD a écrit, le 08/04/2011 16:27 :Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion : inqr9u$mqb$1@speranza.aioe.org...
MichD a écrit, le 08/04/2011 16:27 :
Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion : inqr9u$mqb$
MichD a écrit, le 08/04/2011 16:27 :Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
salutatous,
par exemple pour lister les objets de la page google,
Sub ListeDesObjectsPageWeb()
'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls
Dim i As Integer
Dim IE As internetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Set IE = CreateObject("internetExplorer.Application")
IE.Visible = True
IE.navigate "http://www.google.ca/"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")
For i = 0 To Helem.Length - 1
Range("A" & i + 1) = Helem(i).getAttribute("name")
Range("B" & i + 1) = Helem(i).getAttribute("value")
Next
End Sub
isabelle
------------------------------------------------------------------
Le 2011-04-10 06:39, MichD a écrit :Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés
sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion :
inqr9u$mqb$
MichD a écrit, le 08/04/2011 16:27 :Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de
regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
salutatous,
par exemple pour lister les objets de la page google,
Sub ListeDesObjectsPageWeb()
'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls
Dim i As Integer
Dim IE As internetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Set IE = CreateObject("internetExplorer.Application")
IE.Visible = True
IE.navigate "http://www.google.ca/"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")
For i = 0 To Helem.Length - 1
Range("A" & i + 1) = Helem(i).getAttribute("name")
Range("B" & i + 1) = Helem(i).getAttribute("value")
Next
End Sub
isabelle
------------------------------------------------------------------
Le 2011-04-10 06:39, MichD a écrit :
Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés
sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion :
inqr9u$mqb$1@speranza.aioe.org...
MichD a écrit, le 08/04/2011 16:27 :
Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de
regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
salutatous,
par exemple pour lister les objets de la page google,
Sub ListeDesObjectsPageWeb()
'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls
Dim i As Integer
Dim IE As internetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Set IE = CreateObject("internetExplorer.Application")
IE.Visible = True
IE.navigate "http://www.google.ca/"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")
For i = 0 To Helem.Length - 1
Range("A" & i + 1) = Helem(i).getAttribute("name")
Range("B" & i + 1) = Helem(i).getAttribute("value")
Next
End Sub
isabelle
------------------------------------------------------------------
Le 2011-04-10 06:39, MichD a écrit :Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés
sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion :
inqr9u$mqb$
MichD a écrit, le 08/04/2011 16:27 :Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de
regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
salutatous,
par exemple pour lister les objets de la page google,
Sub ListeDesObjectsPageWeb()
'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls
Dim i As Integer
Dim IE As internetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Set IE = CreateObject("internetExplorer.Application")
IE.Visible = True
IE.navigate "http://www.google.ca/"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")
For i = 0 To Helem.Length - 1
Range("A" & i + 1) = Helem(i).getAttribute("name")
Range("B" & i + 1) = Helem(i).getAttribute("value")
Next
End Sub
isabelle
------------------------------------------------------------------
Le 2011-04-10 06:39, MichD a écrit :Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés
sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion :
inqr9u$mqb$
MichD a écrit, le 08/04/2011 16:27 :Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de
regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
salutatous,
par exemple pour lister les objets de la page google,
Sub ListeDesObjectsPageWeb()
'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls
Dim i As Integer
Dim IE As internetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Set IE = CreateObject("internetExplorer.Application")
IE.Visible = True
IE.navigate "http://www.google.ca/"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")
For i = 0 To Helem.Length - 1
Range("A" & i + 1) = Helem(i).getAttribute("name")
Range("B" & i + 1) = Helem(i).getAttribute("value")
Next
End Sub
isabelle
------------------------------------------------------------------
Le 2011-04-10 06:39, MichD a écrit :
Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés
sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion :
inqr9u$mqb$1@speranza.aioe.org...
MichD a écrit, le 08/04/2011 16:27 :
Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de
regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
salutatous,
par exemple pour lister les objets de la page google,
Sub ListeDesObjectsPageWeb()
'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls
Dim i As Integer
Dim IE As internetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Set IE = CreateObject("internetExplorer.Application")
IE.Visible = True
IE.navigate "http://www.google.ca/"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")
For i = 0 To Helem.Length - 1
Range("A" & i + 1) = Helem(i).getAttribute("name")
Range("B" & i + 1) = Helem(i).getAttribute("value")
Next
End Sub
isabelle
------------------------------------------------------------------
Le 2011-04-10 06:39, MichD a écrit :Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés
sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion :
inqr9u$mqb$
MichD a écrit, le 08/04/2011 16:27 :Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de
regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
Bonjour à tous,
Est il possible de remplir un champ d'une page web à partir d'une
cellule d'excel ?
Je m'explique.
Je dois vérifier des comptes utilisateurs sur un site web. Pour
m'identifier il faut renseigner l'email et le mot de passe.
Tous les comptes que j'ai à vérifier sont dans un fichier Excel.
Je souhaitais avoir une macro qui me permette de faire un copier de la
cellule active et un coller dans le champ Email du navigateur.
mais la, ce n'est plus de mon niveau.
Merci pour vos idées
Bonne journée à vous
LeBuss
Bonjour à tous,
Est il possible de remplir un champ d'une page web à partir d'une
cellule d'excel ?
Je m'explique.
Je dois vérifier des comptes utilisateurs sur un site web. Pour
m'identifier il faut renseigner l'email et le mot de passe.
Tous les comptes que j'ai à vérifier sont dans un fichier Excel.
Je souhaitais avoir une macro qui me permette de faire un copier de la
cellule active et un coller dans le champ Email du navigateur.
mais la, ce n'est plus de mon niveau.
Merci pour vos idées
Bonne journée à vous
LeBuss
Bonjour à tous,
Est il possible de remplir un champ d'une page web à partir d'une
cellule d'excel ?
Je m'explique.
Je dois vérifier des comptes utilisateurs sur un site web. Pour
m'identifier il faut renseigner l'email et le mot de passe.
Tous les comptes que j'ai à vérifier sont dans un fichier Excel.
Je souhaitais avoir une macro qui me permette de faire un copier de la
cellule active et un coller dans le champ Email du navigateur.
mais la, ce n'est plus de mon niveau.
Merci pour vos idées
Bonne journée à vous
LeBuss
Bonsoir Isabelle,
c'est super, mais souhaite écrire dans le champ de recherche de goolg e,
es ce possible ??
Grand merci d'avance
Christophe
Bonsoir Isabelle,
c'est super, mais souhaite écrire dans le champ de recherche de goolg e,
es ce possible ??
Grand merci d'avance
Christophe
Bonsoir Isabelle,
c'est super, mais souhaite écrire dans le champ de recherche de goolg e,
es ce possible ??
Grand merci d'avance
Christophe
salutatous,
par exemple pour lister les objets de la page google,
Sub ListeDesObjectsPageWeb()
'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls
Dim i As Integer
Dim IE As internetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Set IE = CreateObject("internetExplorer.Application")
IE.Visible = True
IE.navigate "http://www.google.ca/"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")
For i = 0 To Helem.Length - 1
Range("A" & i + 1) = Helem(i).getAttribute("name")
Range("B" & i + 1) = Helem(i).getAttribute("value")
Next
End Sub
isabelle
------------------------------------------------------------------
Le 2011-04-10 06:39, MichD a écrit :Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés
sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion :
inqr9u$mqb$
MichD a écrit, le 08/04/2011 16:27 :Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de
regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
salutatous,
par exemple pour lister les objets de la page google,
Sub ListeDesObjectsPageWeb()
'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls
Dim i As Integer
Dim IE As internetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Set IE = CreateObject("internetExplorer.Application")
IE.Visible = True
IE.navigate "http://www.google.ca/"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")
For i = 0 To Helem.Length - 1
Range("A" & i + 1) = Helem(i).getAttribute("name")
Range("B" & i + 1) = Helem(i).getAttribute("value")
Next
End Sub
isabelle
------------------------------------------------------------------
Le 2011-04-10 06:39, MichD a écrit :
Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés
sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion :
inqr9u$mqb$1@speranza.aioe.org...
MichD a écrit, le 08/04/2011 16:27 :
Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de
regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.
salutatous,
par exemple pour lister les objets de la page google,
Sub ListeDesObjectsPageWeb()
'nécéssite d'activer la référence Microsoft HTML Objects Library
'nécéssite d'activer la référence Microsoft Internet Controls
Dim i As Integer
Dim IE As internetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection
Set IE = CreateObject("internetExplorer.Application")
IE.Visible = True
IE.navigate "http://www.google.ca/"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")
For i = 0 To Helem.Length - 1
Range("A" & i + 1) = Helem(i).getAttribute("name")
Range("B" & i + 1) = Helem(i).getAttribute("value")
Next
End Sub
isabelle
------------------------------------------------------------------
Le 2011-04-10 06:39, MichD a écrit :Si tu as une solution avec "GetElementsByTagName" qui répond
à la question du demandeur, je serai intéressé aussi de voir la solution.
La solution que j'ai proposée est la combinaison d'éléments trouvés
sur le Net.
Comme dit auparavant, elle n'a pas été testée... mais comme les solutions
proposées pour ce fil étaient rares...
Mes connaissances du modèle objet "InternetExplorer" sont très limitées!
MichD
--------------------------------------------
"Gloops" a écrit dans le message de groupe de discussion :
inqr9u$mqb$
MichD a écrit, le 08/04/2011 16:27 :Bonjour,
As-tu essayé quelque chose comme ceci :
Je ne suis pas en mesure de tester cette procédure.
J'espère si cela fonctionne et que tu trouves, tu
viendras nous dire comme tu as fait cela.
'---------------------------------------------------
Sub Copier_Data_Dans_Fichier_Internet()
Dim Wk As Workbook
Dim AdresseURL As String
With CreateObject("InternetExplorer.Application")
.Navigate "http://Adresse du site internet"
Do Until .ReadyState = 4
DoEvents
Loop
DoEvents
With .document
.items("UserName") = "MichD"
.items("PassWord") = "MichD"
.items("UserNameSend").submit
End With
End With
AdresseURL = "http://Chemin/files/NomFichier.xls"
Set Wk = Workbooks.Open(AdresseURL)
'Le classeur que tu viens d'ouvrir = _
ton classeur où est la donnée à copier
Wk.Worksheets("NomFeuilleInternet").Range("A1") = _
Workbooks("Source").Worksheets("NomDeLaFeuille").Range("A25")
'Fermeture du classeur Web
Wk.Close True
End Sub
'---------------------------------------------------
MichD
--------------------------------------------
Bonjour,
C'est bien, ça, dans le principe, mais si la question est posée c'est
que considérer la suite comme évidence est peut-être aller un peu vite
en besogne.
Le code indiqué part du principe que le document comporte une zone de
saisie nommée UserName, une zone de saisie nommée PassWord, et un bouton
nommé UserNameSend, qui va chercher le nom dans UserName, le mot de
passe dans PassWord, et effectue la connexion avec ces éléments.
J'ai goupillé un truc de ce style, mais je vais dormir avant de
regarder :)
Si le document est aux normes XHTML, ça peut valoir le coup de
s'intéresser à XPATH. Il faut prévoir d'y passer un paquet d'heures,
s'embêter plus qu'en cheminant via les instructions GetElementsByTagName
(que j'ai d'ailleurs utilisées dans l'exemple que j'ai développé), mais
une fois qu'on est opérationnel, le jour où le format du document change
on corrige le chemin en moins de deux.
Enfin ... Je dis ça pour quelqu'un susceptible de s'intéresser un
certain nombre de fois à la question. Sinon, certes,
GetElementsByTagName risque bien de faire l'affaire.