comment vérifier si une cellule contient un lien hypertexte

  • Initiateur de la discussion Initiateur de la discussion saadmechiche
  • Date de début Date de début

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 !

S

saadmechiche

Guest
bonjour ,

dans mon code j aimerai boucler sur toutes les cellules du usedrange mais ne prendre que les cellules qui ont un hyperlink , comment dois je faire ? merci pour votre aide.
 
Re : comment vérifier si une cellule contient un lien hypertexte

Bonjour saadmechiche, (Re) Bonjour Staple,
J'étais parti, alors je livre....
Pour boucler:
VB:
Sub test()
For Each C In Sheets("Feuil1").Hyperlinks
     MsgBox C.Range.Address, 64, "Une cellule trouvée"
Next C
End Sub
Cordialement
 
Re : comment vérifier si une cellule contient un lien hypertexte

Re; salut Efgé 😉

Bon bah je livre aussi, histoire d'entrer dans le jeu
Code:
Sub a()
Dim c As Range, p As Range
    For Each c In Selection
        If c.Hyperlinks.Count = 1 Then
            If p Is Nothing Then
                Set p = c
            Else
                Set p = Application.Union(p, c)
            End If
        End If
    Next c
MsgBox p.Address
End Sub

PS1: Crédits à Messieurs kjin et pierrejean que je salue au passage 😉

PS2: Efgé, ta boucle est moins bouclée que la mienne, et donc je l'adopte illico 😉
 
Dernière édition:
Re : comment vérifier si une cellule contient un lien hypertexte

Re

Donc la précédente avec la sauce Efgé dedans 😉
Code:
Sub b()
Dim c, p As Range
    For Each c In ActiveSheet.Hyperlinks
            If p Is Nothing Then
                Set p = Range(c.Range.Address)
            Else
                Set p = Application.Union(p, Range(c.Range.Address))
            End If
    Next c
MsgBox p.Address
End Sub
 
Re : comment vérifier si une cellule contient un lien hypertexte

Re,
La version conjointe avec moins de ligne mais peut être pas plus rapide (mais j'aime bien le IIf, même si il faut souvent s'en méfier):
VB:
Sub Test2()
Dim C As Hyperlink, p As Range
    For Each C In ActiveSheet.Hyperlinks
        Set p = Union(Range(C.Range.Address), IIf(p Is Nothing, Range(C.Range.Address), p))
    Next C
MsgBox p.Address
End Sub
Cordialement
 
Re : comment vérifier si une cellule contient un lien hypertexte

Re

Tu as raison, le IIF a ses détracteurs
mais pas le Switch 😉
Code:
Sub Test3()
Dim C As Hyperlink, p As Range
    For Each C In ActiveSheet.Hyperlinks
        Set p = Union(Range(C.Range.Address), Switch(p Is Nothing, Range(C.Range.Address), Not p Is Nothing, p))
    Next C
MsgBox p.Address
End Sub
 
Re : comment vérifier si une cellule contient un lien hypertexte

Re

Efgé:
Nos deux codes précédents ont un léger problème 😉

Alors je retire les oignons et je mets le String 😉
Code:
Sub Test4()
Dim C As Hyperlink, a$
    For Each C In ActiveSheet.Hyperlinks
       a = a & C.Range.Address & ","
    Next C
'MsgBox Range(Left(a, Len(a) - 1)).Address
'Si il faut vraiment sélectionner ;o)
Range(Left(a, Len(a) - 1)).Select
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
170
Réponses
4
Affichages
242
Retour