Bonjour à tout le monde,
Grâce à l'aide du forum, j'ai concocté ce petit programme me permettant de vérifier si le lien est toujours valide ou si il existe, dans le cas contraire, je demande à l'utilisateur d'aller à l'endroit ou le fichier se trouve afin de le créer ou le re-créer.
Dim c As Range
For Each c In Range("H6:H" & Sheets("Tableau").Range("H65536").End(xlUp).Row
On Error Resume Next
GetAttr c.Hyperlinks(1).Address
If Err.Number = 0 Then
Range("i1").Value = ""
Else
MsgBox "Le lien pointant sur le fichier nommé " & c.Value & " est rompu ou le fichier n'est plus dans le même emplacement, cliquez sur OK pour le créer ou le re créer", vbCritical, "Lien invalide - Hydro Plumbing"
ouvrir = Application.GetOpenFilename(filefilter:="tout,*.*", Title:="Sélection")
If ouvrir = Faux Then Exit Sub
With ActiveSheet
d = ouvrir
b = c.Address
a = c.Value
.Hyperlinks.Add .Range(b), d, TextToDisplay:=a
End With
End If
On Error GoTo 0
Next c
Le code fonctionne bien et si je le lance 10 fois, ça va fonctionner, par contre, le problème, c'est que si, pour tester, je déplace un fichier ou est sensé pointer un lien et que je relance la routine, le programme va bien détecter que le lien est rompu mais il va également détecter que les autres liens le sont aussi alors que ce n'est pas le cas et ce même si je ferme le fichier et que je le ré ouvre
Auriez vous une soluce pour un homme à la dérive....
Grâce à l'aide du forum, j'ai concocté ce petit programme me permettant de vérifier si le lien est toujours valide ou si il existe, dans le cas contraire, je demande à l'utilisateur d'aller à l'endroit ou le fichier se trouve afin de le créer ou le re-créer.
Dim c As Range
For Each c In Range("H6:H" & Sheets("Tableau").Range("H65536").End(xlUp).Row
On Error Resume Next
GetAttr c.Hyperlinks(1).Address
If Err.Number = 0 Then
Range("i1").Value = ""
Else
MsgBox "Le lien pointant sur le fichier nommé " & c.Value & " est rompu ou le fichier n'est plus dans le même emplacement, cliquez sur OK pour le créer ou le re créer", vbCritical, "Lien invalide - Hydro Plumbing"
ouvrir = Application.GetOpenFilename(filefilter:="tout,*.*", Title:="Sélection")
If ouvrir = Faux Then Exit Sub
With ActiveSheet
d = ouvrir
b = c.Address
a = c.Value
.Hyperlinks.Add .Range(b), d, TextToDisplay:=a
End With
End If
On Error GoTo 0
Next c
Le code fonctionne bien et si je le lance 10 fois, ça va fonctionner, par contre, le problème, c'est que si, pour tester, je déplace un fichier ou est sensé pointer un lien et que je relance la routine, le programme va bien détecter que le lien est rompu mais il va également détecter que les autres liens le sont aussi alors que ce n'est pas le cas et ce même si je ferme le fichier et que je le ré ouvre
Auriez vous une soluce pour un homme à la dérive....