XL 2016 RECHERCHE D'UNE MACRO CONCERNTANT LES LIENS HYPERTEXTES

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

PACKYMAITRE

XLDnaute Nouveau
Bonjour,

J’ai à peu près une centaine de liens hypertextes dans mon sommaire et j’ai supprimé une vingtaine onglets inutiles.

Exemple :

Dans mon sommaire de liens hypertextes : PRINTEMPS, ETE, AUTONOME et HIVER
J’ai supprimé l’onglet « ETE »
Dans mon sommaire, quand je clique sur « ETE », il me marque « Référence non valide »
Je désirerai qu’il me reste dans mon sommaire : PRINTEMPS, AUTONOME et HIVER avec les liens hypertextes

C’est pourquoi je suis à la recherche d’une macro qui permettra dans mon sommaire de supprimer les liens hypertextes et les commentaires obsolètes.


Bien à vous,
Packymaitre
 
Bonsoir PACKYMAITRE,

Exécutez cette macro :
VB:
Sub SupprimerLiens()
Dim h As Hyperlink
For Each h In Sheets("Sommaire").Hyperlinks
    If h.Address = "" Then If TypeName(Evaluate(h.SubAddress)) <> "Range" Then h.Parent.Clear
Next
End Sub
A+
 
Bonsoir, à tester :
VB:
Sub Check_Hyper()
Dim H As Hyperlink

    For Each H In ActiveSheet.Hyperlinks
        ' MsgBox H.Range.Address
        Select Case True
            Case H.Address <> vbNullString:   ' on ne traite pas les adresses Web
            Case IsError(Evaluate(H.SubAddress)):  H.Range = vbNullString ' détruit l'hyperlink
        End Select
    Next

End Sub
@job75 : on s'est croisé ... 🤭
 
Bonsoir fanch55,

C'est en effet plus simple avec IsError :
VB:
Sub SupprimerLiens()
Dim h As Hyperlink
For Each h In Sheets("Sommaire").Hyperlinks
    If h.Address = "" Then If IsError(Evaluate(h.SubAddress)) Then h.Parent.Clear
Next
End Sub
A+
 
Bonsoir, à tester :
VB:
Sub Check_Hyper()
Dim H As Hyperlink

    For Each H In ActiveSheet.Hyperlinks
        ' MsgBox H.Range.Address
        Select Case True
            Case H.Address <> vbNullString:   ' on ne traite pas les adresses Web
            Case IsError(Evaluate(H.SubAddress)):  H.Range = vbNullString ' détruit l'hyperlink
        End Select
    Next

End Sub
@job75 : on s'est croisé ... 🤭
Merci pour ton aide, impeccable
Bonsoir PACKYMAITRE,

Exécutez cette macro :
VB:
Sub SupprimerLiens()
Dim h As Hyperlink
For Each h In Sheets("Sommaire").Hyperlinks
    If h.Address = "" Then If TypeName(Evaluate(h.SubAddress)) <> "Range" Then h.Parent.Clear
Next
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

P
Réponses
16
Affichages
3 K
Piquemal
P
Retour