Bonjour,
je voudrais créer une macro qui vérifierai si les liens hypertexte contenus dans les cellules d'une colonne sont valides.
Une première macro ajoute les liens hypertextes aux cellules qui contiennent déjà du texte:
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 For j = 1 To n ch1 = Sheets("Liste films").Cells(8 + j, 9).Value ch2 = Sheets("Liste films").Cells(8 + j, 1).Value chlien = ch1 & ch2 Sheets("Liste films").Cells(8 + j, 1).Select Selection.Hyperlinks.Add Anchor:=Selection, Address:=chlien Next j
Pour contrôler les lien hypertextes je me suis servi du code donné sur cette page dans une autre macro en lui disant de colorer en rouge les cellules dont les liens hypertextes ne sont pas valides:
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub check_hypertexte() For k = 1 To n If VerifHyperlink(Cells(8 + k, 1)) = False Then Sheets("Liste films").Cells(8 + k, 1).Interior.Color = vbRed End If Next k End Sub
Le souci est que lorsque j’exécute cette macro, elle me colore des cellules même si le lien hypertexte qu'elles contiennent fonctionne correctement.
En fait certains liens renvoient à des fichiers présents sur le PC et d'autre vers des fichiers présents sur un disque dur externe et je remarque que le problème a lieu pour les fichiers du PC.
D'ailleurs lorsque je fais clic droit sur une cellule rouge puis "modifier lien hypertexte", l'adresse du lien contient des "%20" à la place des espaces, ce qui n'est pas le cas des fichiers du disque dur.
Donc je me dis que l'erreur vient de là mais je ne vois pas comment résoudre le problème.
Pourriez-vous m'aider s'il vous plait?
Merci.
Partager