Vérification d'hyperliens sur le web.

  • Initiateur de la discussion Initiateur de la discussion jeff1494
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jeff1494

XLDnaute Occasionnel
[Résolu] Vérification d'hyperliens sur le web.

Bonsoir à tous;
Je suis en train de tenter de "développer" une appli de gestion de favoris sous EXCEL, mais il y a un gros morceau à mes yeux.

En fait je vais récupérer des fichiers de favoris soit en HTML, soit en xls, classés par famille, sous-famille,.. Chaque famille représente une feuille de mon classeur. Les doublons sont éliminés.

Mon problème est de vérifier par macro, l'activité des liens proposés.
J'aimerais donc avoir, par VBA, une macro que je puisse attacher à un bouton, et qui me permette la lecture feuille près feuille des liens et le test de validité de l'adresse. Perso j'utilise Firefox comme navigateur par défaut, mais pour les tests d'adresse si il est plus facile d'utiliser IE pas de soucis.

Par exemple si j'obtiens une page 404 alors le lien est déclaré comme défectueux et la ligne le contenant est coloré en rouge.

Je vous joins un fichier allégé de mes données. J'aimerais comprendre le principe pour pouvoir l'adapter à mes besoins.

D'avance je vous remercie pour votre aide et vous souhaite une bonne semaine.
Cordialement.
 

Pièces jointes

Dernière édition:
Re : Vérification d'hyperliens sur le web.

Salut Jeff1494,

Tu trouveras ci-joint le fichier modifié.

Le code utilise des API Windows et lance l'ouverture des liens,
le retour est soit = 0 lien erroné, soit >0 lien OK

A+
 

Pièces jointes

Re : Vérification d'hyperliens sur le web.

Bonjour BrunoM45;
tout d'abord merci pour ta réponse. Cela fonctionne à merveille. Par contre y aurait-il un moyen de faire une boucle pour traiter toutes les feuilles du classeur en une seule fois, ou au pire le moyen de saisir le nom d'une feuille depuis une message box remplie avec le nom des feuilles?

Je sais que j'en demande beaucoup, mais j'avoue que je ne connais pas assez VBA pour me lancer la dedans.
Dans tous les cas merci pour ton temps et ton aide.
Bonne journée à tous.
 
Re : Vérification d'hyperliens sur le web.

Re,

Pour toutes les feuilles de ton classeur, remplacer l'ancien code par celui là
Code:
Sub Test_page_Web()
  Dim DerLig As Long, Lig As Long, FlgSB As Boolean, Sht As Worksheet
  Dim IEHandle As Long, numURL As Long, ValURL As String
  ' Ouvre Internet Explore
  IEHandle = OuvreInternet("Test_validité", 1, vbNullString, vbNullString, 0)
  FlgSB = Application.DisplayStatusBar
  Application.DisplayStatusBar = True
  ' Pour chaque feuille du classeur
  For Each Sht In ActiveWorkbook.Sheets
    Sht.Activate
    ' Récupérer la dernière ligne du tableau
    DerLig = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
    ' Pour chaque ligne on teste les lien
    For Lig = 2 To DerLig
      ' Récupérer la valeur du lien
      ValURL = Range("A" & Lig).Value
      ' Vérifier si c'est un lien correcte : HTTP://
      If Left(ValURL, 4) = "http" Then
        ' Ouvrir la page web du lien
        numURL = InternetOpenUrl(IEHandle, ValURL, vbNullString, ByVal 0&, &H80000000, ByVal 0&)
        ' Si le Handle est égale à zéro = lien mort
        If numURL = 0 Then
          Range("A" & Lig & ":I" & Lig).Interior.ColorIndex = 3
          Application.StatusBar = "Test de la ligne : " & Lig & " - " & ValURL & " = TEST ERREUR"
        Else
          ' sinon lien OK
          Application.StatusBar = "Test de la ligne : " & Lig & " - " & ValURL & " = TEST OK"
        End If
        InternetCloseHandle numURL  'ferme la page
      End If
    Next Lig
  Next Sht
  Application.DisplayStatusBar = FlgSB
  InternetCloseHandle IEHandle  'ferme Internet
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
19
Affichages
2 K
Retour