Macro lien hypertexte feuille

  • Initiateur de la discussion Initiateur de la discussion SAMWRC
  • 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 !

SAMWRC

XLDnaute Occasionnel
Bonjour à tous,

Sur une feuille de mon fichier, j'ai un lien hypertexte vers une autre feuille de ce même fichier. J'aimerais lancer ce lien hypertexte à partir d'une macro.

Code:
With ActiveSheet.Range("A1")
    If .Hyperlinks.Count > 0 Then .Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End With

Cette macro marche lorsque le lien hypertexte pointe vers un autre fichier, mais en ce qui concerne une autre feuille du même fichier, ça ne marche plus ...

Je vous joint un fichier avec mon problème.

Une idée ?
Merci d'avance pour votre aide

Bonne journée
Sam
 

Pièces jointes

Re : Macro lien hypertexte feuille

Bonjour SamWRC 🙂,
A tester
Code:
With ActiveSheet.Range("A1")
    If .Hyperlinks.Count > 0 Then
        With .Hyperlinks(1)
            If UBound(Split(.SubAddress, "\")) <> 0 Then
                .Follow NewWindow:=False, AddHistory:=True
            Else
                Sheets(Split(.SubAddress, "!")(0)).Select
                Range(Split(.SubAddress, "!")(1)).Select
            End If
        End With
    End If
End With
Bonne suite 😎
 
Re : Macro lien hypertexte feuille

J'ai trouvé une solution :

Code:
Sub Macro1()
With ActiveSheet.Range("A1")
    If .Hyperlinks.Count > 0 Then
        With .Hyperlinks(1)
            If UBound(Split(.SubAddress, "\")) <> 0 Then
                .Follow NewWindow:=False, AddHistory:=True
            Else
                Dim ws As String
                ws = Split(.SubAddress, "!")(0)
                If Left(ws, 1) = "'" Then ws = Right(Left(ws, Len(ws) - 1), Len(ws) - 2)
                Sheets(ws).Select
                Range(Split(.SubAddress, "!")(1)).Select
            End If
        End With
    End If
End With
End Sub

Ca a l'air de fonctionner. Merci encore JNP 🙂
 
Re : Macro lien hypertexte feuille

Re 🙂,
Effectivement, on évite en général les espaces dans les noms d'onglets 😛,
Autre solution :
Code:
                Sheets(Replace(Split(.SubAddress, "!")(0), "'", "")).Select
                Range(Replace(Split(.SubAddress, "!")(1), "'", "")).Select
Bonne suite 😎
 
Re : Macro lien hypertexte feuille

Bonjour SAMWRC, salut Jean-Noël 🙂

Autre solution :

Code:
On Error Resume Next
[A1].Hyperlinks(1).Follow
If ActiveWorkbook.Name = ThisWorkbook.Name Then _
  Application.Goto Evaluate([A1].Hyperlinks(1).SubAddress)
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

Réponses
1
Affichages
87
Réponses
5
Affichages
575
Retour