Tester la validité des liens hypertextes
seblg29
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je souhaiterais mettre en place une maccro qui me permettrait de tester la validité de mes liens hypertextes.
J'ai déjà pu construire ce petit script, cependant, il ne fonctionne pas comme je le souhaiterais.
En effet, je souhaiterais qu'il m'affiche en rouge les liens hypertexte qui renvoient vers des dossiers de fichiers, et lorsque le liens renvoi également un objet (doc, xlsx, pdf...).
En revanche, ici il me renvoi une cellule rouge lorsqu'un lien hypertexte est present dans la cellule, et ceux même si celui-ci n'est pas valide. De plus, il me renvoi une cellule blanche si le lien renvoi vers un objet (doc, xlsx, pdf...).
EDIT : Ajout des balises de code
Auriez vous des solutions à mon problème ?
Vous en remerciant par avance,
Cordialement,
Je souhaiterais mettre en place une maccro qui me permettrait de tester la validité de mes liens hypertextes.
J'ai déjà pu construire ce petit script, cependant, il ne fonctionne pas comme je le souhaiterais.
En effet, je souhaiterais qu'il m'affiche en rouge les liens hypertexte qui renvoient vers des dossiers de fichiers, et lorsque le liens renvoi également un objet (doc, xlsx, pdf...).
En revanche, ici il me renvoi une cellule rouge lorsqu'un lien hypertexte est present dans la cellule, et ceux même si celui-ci n'est pas valide. De plus, il me renvoi une cellule blanche si le lien renvoi vers un objet (doc, xlsx, pdf...).
Sub control()
Dim sht As Worksheet, rng As Range
Set sht = ThisWorkbook.Worksheets("D18")
For Each rng In sht.Range("D30:G35")
With rng
If rng.Hyperlinks.Count > 0 Then
If Dir(rng.Hyperlinks(1).Address) <> "" Then
.Interior.Color = vbWhite
Else: .Interior.Color = vbRed
End If
End If
End With
Next rng
End Sub
EDIT : Ajout des balises de code
Auriez vous des solutions à mon problème ?
Vous en remerciant par avance,
Cordialement,
1 réponse
-
Bonjour,
Pour tester si ton chemin est une directoryIf Len(Dir("rng.Hyperlinks(1).Address", vbDirectory)) = 0 Then ' ce n'est pas un répertoire et/ou le chemin n'existe pas End If
Pour tester si le chemin existe ( fichier ou dossier)If Len(Dir("rng.Hyperlinks(1).Address")) = 0 Then ' chemin non valide End If
</code>