Récupérer dans excel tous les liens sur une page HTML
Dans ton classeur de destination, copie la liste des pages à ouvrir (sans extension) et nomme la plage en question HTML. La macro ci dessous permet d'ouvrir des pages et de récupérer les
liens qui s'y trouvent. Ils commencent tous en code HTML par < a href.... La macro ouvre toutes les pages, cherche ligne par ligne celles qui contiennent le texte <a href.
Pour celles ci, excel recherche ce qui se trouve entre "<a href" et ">" (fin de balise). La macro copie ce qu'il y a entre les deux dans le classeur excel en colonne B avec le nom de la page en colonne A. Comme ces procédures peuvent être longues si les fichiers sont volumineux, j'ai introduit dans les pages HTML un commentaire (ici "<!--stoptags--> ") qui permet d'interrompre la lecture du fichier en un point choisi.
Sub recuptags() Open Fichier For Input Access Read As #1 Do While Not EOF(1) Line Input #1, truc If truc = "<!--stoptags-->" Then Close #1 Exit Sub Else pos = InStr(1, LCase(truc), "<a href=" & Chr(34) & Chr(35)) ' cherche la chaine a href"# If pos > 0 Then truc = Trim(Right(truc, Len(truc) - pos + 1)) encore: 'bouclette pour trouver la fin du tag If InStr(1, LCase(truc), ">") > 0 Then truc = Left(truc, InStr(1, LCase(truc), ">")) Else Line Input #1, trucsuite truc = truc & " " & trucsuite GoTo encore End If If LCase(truc <> "<a href=" & Chr(34) & Chr(35) & "top" & Chr(34) & ">") Then Cells(i, 1).Value = hTm Cells(i, 2).Value = truc i = i + 1 End If End If End If Loop Close #1 End Sub
Auteurs : Jacques Chaussard, Flo Cabon
Mots clefs associés à cette page : texte, lire, lier, lien, liaison, importer, html
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
