[Excel] gestion des hyperliens

Salut,

J'ai crée une liste de docs ds un fichier xls. Chaque doc s'ouvre en cliquant sur un lien. Toutes les docs sont dans un même répertoire. Comment puis-je vérifier que mes liens sont bons (sans ouvrir les docs une à une ...) Dans les éditeurs web ya mais ds excel xp?
Merci,

A+  K.
"errare humanum est, sed persevare diabolicum"

5 réponses

  1. Contributeur
    Salut à tous,

    Y-a-t-il un (une) expert(e) Excel dans la salle ?
    Merci.

    A+  K.
    "errare humanum est, sed persevare diabolicum"
    0
    1. ;-))

      Heu, oui !! Mais tu es très court dans la description (je viens de lire, il es tard, ou tôt..!!), je reprends demain, ou envoie un mail ;-)))

      Wild and Free
      0
      1. Contributeur
        Salut,

        Comment ça ma description est courte? :-)
        Je voudrais juste vérifier que mes liens sont valides (comme dans un éditeur html wysiwyg).

        A+  K.
        "errare humanum est, sed persevare diabolicum"
        0
        1. Contributeur
          Salut,

          Je remonte :0)

          A+  K.
          0
          1. Bonjour,

            J'ai trouvé ce qui suit sur le site http://jacxl.free.fr/cours_xl/accueil_htmlxl.html
            à partir de là, tu peux faire une boucle.

            Pour tester la validité d'une page Web, il suffit de chercher à l'ouvrir :

            On peut tenter d'ouvrir la page directement sous Excel, et intercepter l'erreur qui se produit si la page n'est pas valide (Erreur d'execution 1004) :

            Sub Test_page_Web_1()
            URL_à_tester = InputBox("URL à tester ?", "validité de l'adresse Internet", "http://boursorama.fr")
            On Error GoTo Err
            Set fich = Workbooks.Open(URL_à_tester)'ouvre l'URL
            fich.Close (False) 'ferme l'URL
            MsgBox "l'URL " & URL_à_tester & " est valide"
            Exit Sub
            Err:
            MsgBox "l'URL " & URL_à_tester & " ne peut pas être ouvert"
            End Sub

            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()
            internet_ouvert = OuvreInternet("Test_validité", 1, vbNullString, vbNullString, 0) 'ouvre Internet
            URL_à_tester = InputBox("URL à tester ?", "validité de l'adresse Internet", "http://boursorama.fr")
            numURL = InternetOpenUrl(internet_ouvert, URL_à_tester, vbNullString, _
            ByVal 0&, &H80000000, ByVal 0&) 'ouvre la page Web
            If numURL > 0 Then MsgBox "l'URL " & URL_à_tester & " est valide" _
            Else MsgBox "l'URL " & URL_à_tester & " ne peut pas être ouvert"
            InternetCloseHandle numURL 'ferme la page
            InternetCloseHandle internet_ouvert 'ferme Internet
            End Sub

            Monique
            Elle est pas belle la vie ?
            0