VBA Recherche des URL sur une Feuille Excel 2010

Résolu
yassinozi Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -  
yassinozi Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai une colonne sur Excel 2010 qui contient un ensemble d'information parmi ces informations je veux extraire que les URL en parcourant toutes les ligne.

merci d'avance pour votre aide
A voir également:

4 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 714
 
Bonjour,

en VBA, code a mettre dans un module

Sub extraction_URL()
Dim TURL() As String
'adaptez a votre fichier: colonne et texte url abregee
Texte_URL = "Debut texte commun tout URL"
With Worksheets("feuil1")
'derniere cellule non vide colonne A
derlig = .Range("A" & Rows.Count).End(xlUp).Row
'mise en memoire plage cellules
Set Plage = .Range("A2:A" & derlig)
'nombre d'URL
Nb_URL = Application.CountIf(Plage, Texte_URL & "*")
If Nb_URL > 0 Then
'redimensionement table suivant nb URL
ReDim TURL(Nb_URL - 1)
lig = 1
'boucle de recherche URL abregee
For Itr = 1 To Nb_URL
lig = .Columns("A").Find(Texte_URL & "*", Cells(lig, 1), , xlWhole).Row
'edriture table URL
TURL(Itr - 1) = Cells(lig, 1)
Next Itr
'transposition Table URL colonne B
.Range("B2").Resize(Nb_URL) = Application.Transpose(TURL)
End If
End With
End Sub
1
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 714
 
Bonjour,

definition de URL: https://fr.wikipedia.org/wiki/Uniform_Resource_Locator

il y a forcement une partie commune, http: ou www, sinon ce n'est pas une URL
1
yassinozi Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,

Autant pour moi, vous avez raison.

entre temps j'ai trouvé une autre solution, je la partage avec vous :



Dim aCell As Range
Dim eRow As Long


eRow = Sheets("TEMP").UsedRange.Rows.Count


For Each aCell In Sheets("TEMP").Range("A1", Sheets("TEMP").Cells(eRow, "A")).Cells


If aCell.Hyperlinks.Count = 0 Then

MsgBox "ce n'est pas un URL"

Else

MsgBox "c'est un URL"

aCell.Copy (Sheets("URL").Cells(ligne, 1))

End If


Next aCell
0
yassinozi Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonsoir,

Votre algorithme est Excellant mais malheureusement ca ne fonctionnera pas sur ma feuille, car deja les urls que j'ai n'ont pas toujours un text en commun et il y'a des cellules qui contient juste un url sans text ni avant ni apres.


je cherchais une methode qui permet de recuperer le contenu et renvoyer TRUE s'il s'agit d'un url ou non.
0
Mytå Messages postés 2973 Date d'inscription   Statut Contributeur Dernière intervention   953
 
Salut le Forum

Un lien : Tester la validité d'une adresse Web

Mytå
0
Mytå Messages postés 2973 Date d'inscription   Statut Contributeur Dernière intervention   953
 
Re le Forum

Autre lien : Validité d'une liste d'URL

Mytå
0