1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| 'Pour gagner du temps, on peut utiliser directement les dll qui gèrent la connexion Internet, via une fonction API
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()
Dim Internet_Ouvert As Long, numURL As Long, LastLig As Long, i As Long
Dim URL_a_Tester As String
Internet_Ouvert = OuvreInternet("Test_validité", 1, vbNullString, vbNullString, 0) 'ouvre Internet
With Sheets("Feuil1")
LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 2 To LastLig
'Récupère l'url dans colonne A Sous Forme http://xxxxx.yy
URL_a_Tester = .Range("A" & i).Value
If URL_a_Tester <> "" Then
numURL = InternetOpenUrl(Internet_Ouvert, URL_a_Tester, vbNullString, ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
'Ecrit le résultat du test en B
.Range("B" & i).Value = IIf(numURL > 0, "OUI", "NON")
InternetCloseHandle numURL 'ferme la page
End If
Next i
End With
InternetCloseHandle Internet_Ouvert 'ferme Internet
End Sub |
Partager