ce truc est bizarre, effectivement, kalidil a l'air de chercher si une image
proche existe
tu peux peut-etre essayer par API de lire le code de la page correspond ant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, page qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mode
caché), vérifier son adresse, puis la refermer (c'est assez bestial , mais ça
devrait marcher)
"Nicolas C." a écrit dans le message de news:
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j'es père
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code pré sent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne... presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grave" si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom de
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien présen te
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification de
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias "InternetOpe nA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyNa me _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaza
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullStrin g, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR1C 1 =
"OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 = URL _à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code HTM L
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.htm )
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
ce truc est bizarre, effectivement, kalidil a l'air de chercher si une image
proche existe
tu peux peut-etre essayer par API de lire le code de la page correspond ant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, page qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mode
caché), vérifier son adresse, puis la refermer (c'est assez bestial , mais ça
devrait marcher)
j@c
"Nicolas C." <kalidil@kalidil.com> a écrit dans le message de news:
u2PTh4QNIHA.4584@TK2MSFTNGP03.phx.gbl...
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j'es père
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code pré sent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne... presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grave" si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom de
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien présen te
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification de
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias "InternetOpe nA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyNa me _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaza
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullStrin g, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR1C 1 =
"OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 = URL _à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code HTM L
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.htm )
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
ce truc est bizarre, effectivement, kalidil a l'air de chercher si une image
proche existe
tu peux peut-etre essayer par API de lire le code de la page correspond ant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, page qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mode
caché), vérifier son adresse, puis la refermer (c'est assez bestial , mais ça
devrait marcher)
"Nicolas C." a écrit dans le message de news:
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j'es père
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code pré sent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne... presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grave" si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom de
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien présen te
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification de
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias "InternetOpe nA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyNa me _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaza
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullStrin g, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR1C 1 =
"OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 = URL _à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code HTM L
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.htm )
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
ce truc est bizarre, effectivement, kalidil a l'air de chercher si une
image
proche existe
tu peux peut-etre essayer par API de lire le code de la page
correspondant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, page qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mod e
caché), vérifier son adresse, puis la refermer (c'est assez bestia l,
mais ça
devrait marcher)
"Nicolas C." a écrit dans le message de news:
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j'e spère
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code pré sent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne...
presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grave " si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom d e
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien prése nte
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification de
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias
"InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal
sProxyName _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As
Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaza
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullStri ng, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR1 C1 =
"OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 =
URL_à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code HT ML
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.ht m)
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
Merci pour ta réponse malheureusement "piloter IE depuis VBA" ne
m'est pas possible je n'ai pas le niveau, si j'ai réussi a modifier u n
peu ton code je ne le comprends pas entièrement et n'ai aucune
connaissance en VBA :(. Je vais voir avec l'hébergeur si cette
"fonction" de remplacer par une image proche peut être désactivée ...
ce truc est bizarre, effectivement, kalidil a l'air de chercher si une
image
proche existe
tu peux peut-etre essayer par API de lire le code de la page
correspondant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, page qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mod e
caché), vérifier son adresse, puis la refermer (c'est assez bestia l,
mais ça
devrait marcher)
j@c
"Nicolas C." <kalidil@kalidil.com> a écrit dans le message de news:
u2PTh4QNIHA.4584@TK2MSFTNGP03.phx.gbl...
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j'e spère
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code pré sent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne...
presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grave " si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom d e
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien prése nte
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification de
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias
"InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal
sProxyName _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As
Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaza
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullStri ng, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR1 C1 =
"OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 =
URL_à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code HT ML
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.ht m)
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
Merci j@c pour ta réponse malheureusement "piloter IE depuis VBA" ne
m'est pas possible je n'ai pas le niveau, si j'ai réussi a modifier u n
peu ton code je ne le comprends pas entièrement et n'ai aucune
connaissance en VBA :(. Je vais voir avec l'hébergeur si cette
"fonction" de remplacer par une image proche peut être désactivée ...
ce truc est bizarre, effectivement, kalidil a l'air de chercher si une
image
proche existe
tu peux peut-etre essayer par API de lire le code de la page
correspondant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, page qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mod e
caché), vérifier son adresse, puis la refermer (c'est assez bestia l,
mais ça
devrait marcher)
"Nicolas C." a écrit dans le message de news:
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j'e spère
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code pré sent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne...
presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grave " si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom d e
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien prése nte
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification de
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias
"InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal
sProxyName _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As
Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaza
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullStri ng, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR1 C1 =
"OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 =
URL_à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code HT ML
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.ht m)
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
Merci pour ta réponse malheureusement "piloter IE depuis VBA" ne
m'est pas possible je n'ai pas le niveau, si j'ai réussi a modifier u n
peu ton code je ne le comprends pas entièrement et n'ai aucune
connaissance en VBA :(. Je vais voir avec l'hébergeur si cette
"fonction" de remplacer par une image proche peut être désactivée ...
ce truc est bizarre, effectivement, kalidil a l'air de chercher si une
image
proche existe
tu peux peut-etre essayer par API de lire le code de la page
correspondant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, page qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mode
caché), vérifier son adresse, puis la refermer (c'est assez bestial,
mais ça
devrait marcher)
"Nicolas C." a écrit dans le message de news:
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j'espère
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code présent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne...
presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grave" si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom de
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien présente
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification de
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias
"InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal
sProxyName _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As
Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaza
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullString, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR1C1 >> "OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 >> URL_à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code HTML
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.htm)
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
Merci pour ta réponse malheureusement "piloter IE depuis VBA" ne
m'est pas possible je n'ai pas le niveau, si j'ai réussi a modifier un
peu ton code je ne le comprends pas entièrement et n'ai aucune
connaissance en VBA :(. Je vais voir avec l'hébergeur si cette
"fonction" de remplacer par une image proche peut être désactivée...
ce truc est bizarre, effectivement, kalidil a l'air de chercher si une
image
proche existe
tu peux peut-etre essayer par API de lire le code de la page
correspondant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, page qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mode
caché), vérifier son adresse, puis la refermer (c'est assez bestial,
mais ça
devrait marcher)
j@c
"Nicolas C." <kalidil@kalidil.com> a écrit dans le message de news:
u2PTh4QNIHA.4584@TK2MSFTNGP03.phx.gbl...
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j'espère
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code présent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne...
presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grave" si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom de
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien présente
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification de
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias
"InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal
sProxyName _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As
Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaza
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullString, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR1C1 >> "OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 >> URL_à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code HTML
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.htm)
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
Merci j@c pour ta réponse malheureusement "piloter IE depuis VBA" ne
m'est pas possible je n'ai pas le niveau, si j'ai réussi a modifier un
peu ton code je ne le comprends pas entièrement et n'ai aucune
connaissance en VBA :(. Je vais voir avec l'hébergeur si cette
"fonction" de remplacer par une image proche peut être désactivée...
ce truc est bizarre, effectivement, kalidil a l'air de chercher si une
image
proche existe
tu peux peut-etre essayer par API de lire le code de la page
correspondant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, page qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mode
caché), vérifier son adresse, puis la refermer (c'est assez bestial,
mais ça
devrait marcher)
"Nicolas C." a écrit dans le message de news:
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j'espère
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code présent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne...
presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grave" si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom de
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien présente
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification de
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias
"InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal
sProxyName _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As
Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaza
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullString, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR1C1 >> "OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 >> URL_à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code HTML
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.htm)
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
Merci pour ta réponse malheureusement "piloter IE depuis VBA" ne
m'est pas possible je n'ai pas le niveau, si j'ai réussi a modifier un
peu ton code je ne le comprends pas entièrement et n'ai aucune
connaissance en VBA :(. Je vais voir avec l'hébergeur si cette
"fonction" de remplacer par une image proche peut être désactivée...
bon alors, allons-y (avec IE !)
Function est404(page)
est404 = False
Set ie = CreateObject("InternetExplorer.Application") 'créer une in stance
(cachée) d'internet explorer
ie.Navigate (page) 'ouvril la page dans IE
Do While ie.ReadyState <> 4 'attendre que ça soit cuit
Loop
txt = ie.document.body.innertext 'récupérer le texte de la page
ie.Quit 'fermer IE pour éviter de laisser des saletés
If InStr(txt, "Error 404") > 0 Then est404 = True 'regarder si le te xte de
la page contient "eerror 404"
End Function
pour détecter si la page visée est une page error 404 ou pas :
MsgBox est404("http://www.kalidil.com/images_produit/3XXV66.jpg") ré pond
vrai
MsgBox est404("http://www.kalidil.com/images_produit/3XXV60.jpg") ré pond
faux
c'est ça ?
http://jacxl.free.fr
"Nicolas C." a écrit dans le message de news:ce truc est bizarre, effectivement, kalidil a l'air de chercher si un e
image
proche existe
tu peux peut-etre essayer par API de lire le code de la page
correspondant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, pag e qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mo de
caché), vérifier son adresse, puis la refermer (c'est assez besti al,
mais ça
devrait marcher)
"Nicolas C." a écrit dans le message de news:
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j' espère
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code pr ésent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne.. .
presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grav e" si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom de
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien prés ente
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification d e
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias
"InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal
sProxyName _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) A s
Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaz a
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullStr ing, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR 1C1 =
"OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 =
URL_à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code H TML
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.h tm)
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
Merci pour ta réponse malheureusement "piloter IE depuis VBA" ne
m'est pas possible je n'ai pas le niveau, si j'ai réussi a modifier un
peu ton code je ne le comprends pas entièrement et n'ai aucune
connaissance en VBA :(. Je vais voir avec l'hébergeur si cette
"fonction" de remplacer par une image proche peut être désactivé e...
Merci encore pour ton aide, j'ai fait désactiver la fonction de
"remplacement par une adresse proche" mais l'erreur 404 n'est pas
reconnue par ton code je te redonne le lien :
http://www.kalidil.com/images_produit/3XXV66.jpg
Cordialement,
Nicolas
Super !
bon alors, allons-y (avec IE !)
Function est404(page)
est404 = False
Set ie = CreateObject("InternetExplorer.Application") 'créer une in stance
(cachée) d'internet explorer
ie.Navigate (page) 'ouvril la page dans IE
Do While ie.ReadyState <> 4 'attendre que ça soit cuit
Loop
txt = ie.document.body.innertext 'récupérer le texte de la page
ie.Quit 'fermer IE pour éviter de laisser des saletés
If InStr(txt, "Error 404") > 0 Then est404 = True 'regarder si le te xte de
la page contient "eerror 404"
End Function
pour détecter si la page visée est une page error 404 ou pas :
MsgBox est404("http://www.kalidil.com/images_produit/3XXV66.jpg") ré pond
vrai
MsgBox est404("http://www.kalidil.com/images_produit/3XXV60.jpg") ré pond
faux
c'est ça ?
J@C
http://jacxl.free.fr
"Nicolas C." <kalidil@kalidil.com> a écrit dans le message de news:
u5XYj1aNIHA.4688@TK2MSFTNGP06.phx.gbl...
ce truc est bizarre, effectivement, kalidil a l'air de chercher si un e
image
proche existe
tu peux peut-etre essayer par API de lire le code de la page
correspondant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, pag e qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mo de
caché), vérifier son adresse, puis la refermer (c'est assez besti al,
mais ça
devrait marcher)
j@c
"Nicolas C." <kalidil@kalidil.com> a écrit dans le message de news:
u2PTh4QNIHA.4584@TK2MSFTNGP03.phx.gbl...
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j' espère
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code pr ésent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne.. .
presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grav e" si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom de
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien prés ente
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification d e
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias
"InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal
sProxyName _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) A s
Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaz a
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullStr ing, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR 1C1 =
"OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 =
URL_à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code H TML
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.h tm)
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
Merci j@c pour ta réponse malheureusement "piloter IE depuis VBA" ne
m'est pas possible je n'ai pas le niveau, si j'ai réussi a modifier un
peu ton code je ne le comprends pas entièrement et n'ai aucune
connaissance en VBA :(. Je vais voir avec l'hébergeur si cette
"fonction" de remplacer par une image proche peut être désactivé e...
Merci encore pour ton aide, j'ai fait désactiver la fonction de
"remplacement par une adresse proche" mais l'erreur 404 n'est pas
reconnue par ton code je te redonne le lien :
http://www.kalidil.com/images_produit/3XXV66.jpg
Cordialement,
Nicolas
Super j@c !
bon alors, allons-y (avec IE !)
Function est404(page)
est404 = False
Set ie = CreateObject("InternetExplorer.Application") 'créer une in stance
(cachée) d'internet explorer
ie.Navigate (page) 'ouvril la page dans IE
Do While ie.ReadyState <> 4 'attendre que ça soit cuit
Loop
txt = ie.document.body.innertext 'récupérer le texte de la page
ie.Quit 'fermer IE pour éviter de laisser des saletés
If InStr(txt, "Error 404") > 0 Then est404 = True 'regarder si le te xte de
la page contient "eerror 404"
End Function
pour détecter si la page visée est une page error 404 ou pas :
MsgBox est404("http://www.kalidil.com/images_produit/3XXV66.jpg") ré pond
vrai
MsgBox est404("http://www.kalidil.com/images_produit/3XXV60.jpg") ré pond
faux
c'est ça ?
http://jacxl.free.fr
"Nicolas C." a écrit dans le message de news:ce truc est bizarre, effectivement, kalidil a l'air de chercher si un e
image
proche existe
tu peux peut-etre essayer par API de lire le code de la page
correspondant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, pag e qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mo de
caché), vérifier son adresse, puis la refermer (c'est assez besti al,
mais ça
devrait marcher)
"Nicolas C." a écrit dans le message de news:
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j' espère
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code pr ésent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne.. .
presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grav e" si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom de
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien prés ente
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification d e
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias
"InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal
sProxyName _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) A s
Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaz a
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullStr ing, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR 1C1 =
"OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 =
URL_à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code H TML
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.h tm)
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
Merci pour ta réponse malheureusement "piloter IE depuis VBA" ne
m'est pas possible je n'ai pas le niveau, si j'ai réussi a modifier un
peu ton code je ne le comprends pas entièrement et n'ai aucune
connaissance en VBA :(. Je vais voir avec l'hébergeur si cette
"fonction" de remplacer par une image proche peut être désactivé e...
Merci encore pour ton aide, j'ai fait désactiver la fonction de
"remplacement par une adresse proche" mais l'erreur 404 n'est pas
reconnue par ton code je te redonne le lien :
http://www.kalidil.com/images_produit/3XXV66.jpg
Cordialement,
Nicolas
Super !
bon alors, allons-y (avec IE !)
Function est404(page)
est404 = False
Set ie = CreateObject("InternetExplorer.Application") 'créer une instance
(cachée) d'internet explorer
ie.Navigate (page) 'ouvril la page dans IE
Do While ie.ReadyState <> 4 'attendre que ça soit cuit
Loop
txt = ie.document.body.innertext 'récupérer le texte de la page
ie.Quit 'fermer IE pour éviter de laisser des saletés
If InStr(txt, "Error 404") > 0 Then est404 = True 'regarder si le texte
de
la page contient "eerror 404"
End Function
pour détecter si la page visée est une page error 404 ou pas :
MsgBox est404("http://www.kalidil.com/images_produit/3XXV66.jpg") répond
vrai
MsgBox est404("http://www.kalidil.com/images_produit/3XXV60.jpg") répond
faux
c'est ça ?
http://jacxl.free.fr
"Nicolas C." a écrit dans le message de news:ce truc est bizarre, effectivement, kalidil a l'air de chercher si une
image
proche existe
tu peux peut-etre essayer par API de lire le code de la page
correspondant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, page qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mode
caché), vérifier son adresse, puis la refermer (c'est assez bestial,
mais ça
devrait marcher)
"Nicolas C." a écrit dans le message de news:
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j'espère
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code présent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne...
presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grave" si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom de
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien présente
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification de
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias
"InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal
sProxyName _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As
Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaza
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullString, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR1C1 >>> "OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 >>> URL_à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code HTML
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.htm)
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
Merci pour ta réponse malheureusement "piloter IE depuis VBA" ne
m'est pas possible je n'ai pas le niveau, si j'ai réussi a modifier un
peu ton code je ne le comprends pas entièrement et n'ai aucune
connaissance en VBA :(. Je vais voir avec l'hébergeur si cette
"fonction" de remplacer par une image proche peut être désactivée...
Merci encore pour ton aide, j'ai fait désactiver la fonction de
"remplacement par une adresse proche" mais l'erreur 404 n'est pas
reconnue par ton code je te redonne le lien :
http://www.kalidil.com/images_produit/3XXV66.jpg
Cordialement,
Nicolas
Super !
bon alors, allons-y (avec IE !)
Function est404(page)
est404 = False
Set ie = CreateObject("InternetExplorer.Application") 'créer une instance
(cachée) d'internet explorer
ie.Navigate (page) 'ouvril la page dans IE
Do While ie.ReadyState <> 4 'attendre que ça soit cuit
Loop
txt = ie.document.body.innertext 'récupérer le texte de la page
ie.Quit 'fermer IE pour éviter de laisser des saletés
If InStr(txt, "Error 404") > 0 Then est404 = True 'regarder si le texte
de
la page contient "eerror 404"
End Function
pour détecter si la page visée est une page error 404 ou pas :
MsgBox est404("http://www.kalidil.com/images_produit/3XXV66.jpg") répond
vrai
MsgBox est404("http://www.kalidil.com/images_produit/3XXV60.jpg") répond
faux
c'est ça ?
J@C
http://jacxl.free.fr
"Nicolas C." <kalidil@kalidil.com> a écrit dans le message de news:
u5XYj1aNIHA.4688@TK2MSFTNGP06.phx.gbl...
ce truc est bizarre, effectivement, kalidil a l'air de chercher si une
image
proche existe
tu peux peut-etre essayer par API de lire le code de la page
correspondant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, page qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mode
caché), vérifier son adresse, puis la refermer (c'est assez bestial,
mais ça
devrait marcher)
j@c
"Nicolas C." <kalidil@kalidil.com> a écrit dans le message de news:
u2PTh4QNIHA.4584@TK2MSFTNGP03.phx.gbl...
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j'espère
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code présent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne...
presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grave" si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom de
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien présente
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification de
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias
"InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal
sProxyName _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As
Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaza
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullString, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR1C1 >>> "OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 >>> URL_à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code HTML
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.htm)
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
Merci j@c pour ta réponse malheureusement "piloter IE depuis VBA" ne
m'est pas possible je n'ai pas le niveau, si j'ai réussi a modifier un
peu ton code je ne le comprends pas entièrement et n'ai aucune
connaissance en VBA :(. Je vais voir avec l'hébergeur si cette
"fonction" de remplacer par une image proche peut être désactivée...
Merci encore pour ton aide, j'ai fait désactiver la fonction de
"remplacement par une adresse proche" mais l'erreur 404 n'est pas
reconnue par ton code je te redonne le lien :
http://www.kalidil.com/images_produit/3XXV66.jpg
Cordialement,
Nicolas
Super j@c !
bon alors, allons-y (avec IE !)
Function est404(page)
est404 = False
Set ie = CreateObject("InternetExplorer.Application") 'créer une instance
(cachée) d'internet explorer
ie.Navigate (page) 'ouvril la page dans IE
Do While ie.ReadyState <> 4 'attendre que ça soit cuit
Loop
txt = ie.document.body.innertext 'récupérer le texte de la page
ie.Quit 'fermer IE pour éviter de laisser des saletés
If InStr(txt, "Error 404") > 0 Then est404 = True 'regarder si le texte
de
la page contient "eerror 404"
End Function
pour détecter si la page visée est une page error 404 ou pas :
MsgBox est404("http://www.kalidil.com/images_produit/3XXV66.jpg") répond
vrai
MsgBox est404("http://www.kalidil.com/images_produit/3XXV60.jpg") répond
faux
c'est ça ?
http://jacxl.free.fr
"Nicolas C." a écrit dans le message de news:ce truc est bizarre, effectivement, kalidil a l'air de chercher si une
image
proche existe
tu peux peut-etre essayer par API de lire le code de la page
correspondant
directement à http://www.kalidil.com/images_produit/3XXV66.jpg, page qui
n'ets peut-etre pas une image mais une page de redirection
ou plus simple, en pilotant IE par vba, tu peux ouvrir l'image (en mode
caché), vérifier son adresse, puis la refermer (c'est assez bestial,
mais ça
devrait marcher)
"Nicolas C." a écrit dans le message de news:
Bonjour,
J'ai découvert ce forum il y a peu grâce au site jacxl.free.fr j'espère
pouvoir y échanger beaucoup d'informations avec vous tous.
Voila mon problème :
Je cherche à vérifier des liens via excel, j'ai repris le code présent
sur jacxl.free.fr et l'ai modifié à ma sauce ;) Cela fonctionne...
presque !
Les adresses que je veux vérifier ne provoquent pas d'erreurs "grave" si
elle n'existent pas, IE et Firefox remplacent automatiquement le nom de
fichier par un autre approchant sans afficher de page d'erreur !
Exemple :
"http://www.kalidil.com/images_produit/3XXV66.jpg" (cette image n'est
pas présente sur le serveur)
sera remplacée automatiquement par
"http://www.kalidil.com/images_produit/3XXV60.jpg" (image bien présente
sur le serveur)
sans laisser aucun message d'erreur .
Je pense que c'est cela qui empêche le code VBA de vérification de
signaler le problème.
Voila le code de ma macro :
Private Declare Function OuvreInternet Lib "wininet" Alias
"InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal
sProxyName _
As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As
Long
Private Declare Function InternetOpenUrl Lib "wininet" Alias
"InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal
lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal
dwContext As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal zaza
As Long) As Integer
Sub Test_page_Web_2()
For Counter = 2 To 500
Set URL_à_tester = Worksheets("listing TL").Cells(Counter, 12)
internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString,
vbNullString, 0) 'ouvre Internet
numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullString, _
ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
If numURL > 0 Then Worksheets("données").Cells(Counter, 9).FormulaR1C1 >>> "OK" _
Else Worksheets("données").Cells(Counter, 9).FormulaR1C1 >>> URL_à_tester
InternetCloseHandle numURL 'ferme la page
InternetCloseHandle internet_ouvert 'ferme Internet
Next Counter
End Sub
Je me demandais donc si il était possible de vérifier quel code HTML
renvoyai la page testée et si on pouvais faire une vérification à partir
de cela (voir : http://www.the-eggman.com/seminars/html_error_codes.htm)
Quelqu'un a une idée ?
Merci de m'avoir lu.
Cordialement,
Nicolas
Merci pour ta réponse malheureusement "piloter IE depuis VBA" ne
m'est pas possible je n'ai pas le niveau, si j'ai réussi a modifier un
peu ton code je ne le comprends pas entièrement et n'ai aucune
connaissance en VBA :(. Je vais voir avec l'hébergeur si cette
"fonction" de remplacer par une image proche peut être désactivée...
Merci encore pour ton aide, j'ai fait désactiver la fonction de
"remplacement par une adresse proche" mais l'erreur 404 n'est pas
reconnue par ton code je te redonne le lien :
http://www.kalidil.com/images_produit/3XXV66.jpg
Cordialement,
Nicolas
Super !