Vérification de status URL

fmayouf Messages postés 1 Statut Membre -  
ExcelGuru1 Messages postés 21 Statut Membre -
Bonjour tout le monde,

Afin de faire un nettoyage du ProxyPac de ma société, je voudrais checker un tableau d'URL du réseau interne, si l'URL est toujours UP ou MORT.

Sous excel, j'ai un tableau de plusieurs @ IP et leur URL. J'ai crée un script VBA pour faire un ping automatique de toutes les @ IP du tableau qui donne la case de l'@ en vert si le ping est positive sinon en rouge. Cela est déjà pas mal mais je suis tombé sur le cas où l'@ IP donne un ping positive mais en checkant son URL via le navigateur, ce dernier ne donne rien (la page à été supprimée ou la machine est éteinte). D'où l'intérêt de faire aussi un check dynamique concernant toutes les URLs sur le même fichier excel et cela pour les cases où l'@ IP est verte afin de passer au clean (si le ping est positif et l'url ne retourne rine, on vire).

Je bosse toujours sur un script sous excel mais je m'en sors pas, j'aimerais que vous me proposiez une solution ou une autre façon pour se faire.

Cordialement.

1 réponse

  1. ExcelGuru1 Messages postés 21 Statut Membre 1
     
    Bonjour,

    Voici une macro qui je l'espère répond parfaitement à ton besoin :

    Private Sub TestLinks() 

    Dim oLink As Hyperlink

    For Each oLink In ActiveSheet.Hyperlinks
    '// Check for sillies...
    If oLink.Address <> "" And InStr(oLink.Address, "mailto") = 0 Then
    If Not TestURL(oLink.Address) Then
    Debug.Print oLink.Address
    End If
    End If
    Next

    Set oLink = Nothing

    End Sub

    Private Function TestURL(strURL As String) As Boolean

    '// Testing a URL
    Dim oURL As New WinHttpRequest

    On Error Goto TestURL_Err

    With oURL
    .Open "GET", strURL, False
    .Send
    TestURL = (.Status = 200)
    End With

    TestURL_Err:
    '// It'll just fall out. If errored then
    '// Return Value is the default 0 (False)

    Set oURL = Nothing
    End Function


    Voici Source : http://www.ozgrid.com/forum/showthread.php?t=151332

    Bonne soirée
    0