Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

détecter lien hypertexte invalide....

3 réponses
Avatar
vincent
bonjour,

je cherche une méthode simple par vba où par formule pour détecter les liens
hypertexte invalides :

j'ai une liste actualisable de liens hypertexte dans une colonne N où les
données sont contenues de N2 à N100.
Les liens sont crées vers des fichiers jpeg (pas encore existants lors de la
création du lien) dans un répertoire.

Comment vérifier que les cibles existent bien sans tester les 100
possibilités manuellement?

en effet dans le cas où le fichier n'existe pas, message excel :"impossible
d'ouvrir le fichier spécifié"

merci de votre aide

vincent

3 réponses

Avatar
Daniel.C
Bonjour.
J'ai cette petite macro qui va te signaler les liens en erreur.
Malheureusement, les liens corrects sont et restent ouverts. Je ne sais pas
les fermer.

Sub test()
Dim hl As Hyperlink
For Each hl In ActiveSheet.Hyperlinks
On Error Resume Next
ActiveWorkbook.FollowHyperlink hl.Address
If Err.Number <> 0 Then
MsgBox "Erreur" & hl.Address
Err.Clear
End If
Next hl
End Sub

Cordialement.
Daniel
"vincent" a écrit dans le message
de news:
bonjour,

je cherche une méthode simple par vba où par formule pour détecter les
liens
hypertexte invalides :

j'ai une liste actualisable de liens hypertexte dans une colonne N où les
données sont contenues de N2 à N100.
Les liens sont crées vers des fichiers jpeg (pas encore existants lors de
la
création du lien) dans un répertoire.

Comment vérifier que les cibles existent bien sans tester les 100
possibilités manuellement?

en effet dans le cas où le fichier n'existe pas, message excel
:"impossible
d'ouvrir le fichier spécifié"

merci de votre aide

vincent




Avatar
vincent
bonjour daniel,

malheureusement, cette macro ne fonctionne pas dans mon cas....et même en la
testant avec un cas classique
en effet, après avoir cherché toute la matinée, j'ai compris le truc

quand on rentre un lien avec la méthode classique, CTRL+K sur une cellule,
on va cibler le fichier existant, ta macro fonctionne cependant elle
m'indique à chaque fois une erreur (1er pblm).

Pour mon fichier, les liens hypertextes sont rentrés sous la forme d'une
formule :

ActiveCell.FormulaR1C1 = _
"=HYPERLINK(CONCATENATE(""u:dossier
liens"",LEFT(RC[-4],(LEN(RC[-4])-1))),LEFT(RC[-4],(LEN(RC[-4])-1)))"

et les cibles n'existent pas encore, elles seront crées "normalement" après.

mon but était donc de détecter les liens invalides (cibles non créées
donc...).

Le truc bizarre, c'est que les cellules contenant ces liens hypertextes ne
sont pas détectées par la macro de daniel comme des liens hypertextes.


Chose intéressante : lorsque l'on crée manuellement un lien hypertexte avec
ctrl +K, que l'on fait un clic droit sur la cellule ensuite, le menu
contextuel nous propose : modifier, ouvrir , supprimer, modifier le lien
hypertexte.
lorsque le lien est crée par une formule; le menu contextuel nous propose
seulement de supprimer le lien.

2 problèmes en un et mon problème n'est toujours pas résolu....

quelqu'un aurait il une solution?

merci


"Daniel.C" a écrit dans le message de
news:
Bonjour.
J'ai cette petite macro qui va te signaler les liens en erreur.
Malheureusement, les liens corrects sont et restent ouverts. Je ne sais
pas

les fermer.

Sub test()
Dim hl As Hyperlink
For Each hl In ActiveSheet.Hyperlinks
On Error Resume Next
ActiveWorkbook.FollowHyperlink hl.Address
If Err.Number <> 0 Then
MsgBox "Erreur" & hl.Address
Err.Clear
End If
Next hl
End Sub

Cordialement.
Daniel
"vincent" a écrit dans le
message

de news:
bonjour,

je cherche une méthode simple par vba où par formule pour détecter les
liens
hypertexte invalides :

j'ai une liste actualisable de liens hypertexte dans une colonne N où
les


données sont contenues de N2 à N100.
Les liens sont crées vers des fichiers jpeg (pas encore existants lors
de


la
création du lien) dans un répertoire.

Comment vérifier que les cibles existent bien sans tester les 100
possibilités manuellement?

en effet dans le cas où le fichier n'existe pas, message excel
:"impossible
d'ouvrir le fichier spécifié"

merci de votre aide

vincent








Avatar
JB
Bonjour,

Un exemple simple:

Dans la colonne A, on a les noms des classeurs vers lesquels on crée
un hyperlien avec =LIEN_HYPERTEXTE("["& A2 &".xls]";A2).

For Each c In [A2:A10]
h = c & ".xls" ' expression qui génère l'adresse
dans HyperLink
On Error Resume Next
ActiveWorkbook.FollowHyperlink Address:=h
If Err <> 0 Then
c.Offset(0, 1) = "Erreur"
Else
ActiveWorkbook.Close
End If
Next c


h="u:dossierliens & .....

JB

On 14 sep, 14:52, "vincent"
wrote:
bonjour daniel,

malheureusement, cette macro ne fonctionne pas dans mon cas....et même en la
testant avec un cas classique
en effet, après avoir cherché toute la matinée, j'ai compris le truc

quand on rentre un lien avec la méthode classique, CTRL+K sur une cellu le,
on va cibler le fichier existant, ta macro fonctionne cependant elle
m'indique à chaque fois une erreur (1er pblm).

Pour mon fichier, les liens hypertextes sont rentrés sous la forme d'une
formule :

ActiveCell.FormulaR1C1 = _
"=HYPERLINK(CONCATENATE(""u:dossier
liens"",LEFT(RC[-4],(LEN(RC[-4])-1))),LEFT(RC[-4],(LEN(RC[-4])-1)))"

et les cibles n'existent pas encore, elles seront crées "normalement" a près.

mon but était donc de détecter les liens invalides (cibles non cré ées
donc...).

Le truc bizarre, c'est que les cellules contenant ces liens hypertextes ne
sont pas détectées par la macro de daniel comme des liens hypertextes.

Chose intéressante : lorsque l'on crée manuellement un lien hypertext e avec
ctrl +K, que l'on fait un clic droit sur la cellule ensuite, le menu
contextuel nous propose : modifier, ouvrir , supprimer, modifier le lien
hypertexte.
lorsque le lien est crée par une formule; le menu contextuel nous propo se
seulement de supprimer le lien.

2 problèmes en un et mon problème n'est toujours pas résolu....

quelqu'un aurait il une solution?

merci

"Daniel.C" a écrit dans le message denews:OUBl



Bonjour.
J'ai cette petite macro qui va te signaler les liens en erreur.
Malheureusement, les liens corrects sont et restent ouverts. Je ne sais
pas

les fermer.

Sub test()
Dim hl As Hyperlink
For Each hl In ActiveSheet.Hyperlinks
On Error Resume Next
ActiveWorkbook.FollowHyperlink hl.Address
If Err.Number <> 0 Then
MsgBox "Erreur" & hl.Address
Err.Clear
End If
Next hl
End Sub

Cordialement.
Daniel
"vincent" a écrit dans le
message

denews: eZjofTh9HHA.4__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63jfAD$z
bonjour,

je cherche une méthode simple par vba où par formule pour détec ter les
liens
hypertexte invalides :

j'ai une liste actualisable de liens hypertexte dans une colonne N o ù
les


données sont contenues de N2 à N100.
Les liens sont crées vers des fichiers jpeg (pas encore existants l ors
de


la
création du lien) dans un répertoire.

Comment vérifier que les cibles existent bien sans tester les 100
possibilités manuellement?

en effet dans le cas où le fichier n'existe pas, message excel
:"impossible
d'ouvrir le fichier spécifié"

merci de votre aide

vincent- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -