Lien hypertexte vers onglets masqués : erreur d'exécution 9
Résolu/Fermé
A voir également:
- Lien hypertexte vers onglets masqués : erreur d'exécution 9
- Lien copie - Forum Android
- Lien hypertexte linkedin - Forum Internet / Réseaux sociaux
- Erreur d'execution 1004 - Forum Programmation
- Il est en cours de transport vers votre site de livraison ✓ - Forum Consommation et internet
- Lien url - Guide
3 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
18 mars 2015 à 12:44
18 mars 2015 à 12:44
Bonjour,
Pouvons nous faire un test, pour voir ce qui ne va pas?
Remplace le code donné dans ton message par :
Et reviens nous donner le contenu exact des deux messages qui apparaissent lors d'1 clic sur un de tes liens
Pouvons nous faire un test, pour voir ce qui ne va pas?
Remplace le code donné dans ton message par :
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) MsgBox Target.SubAddress MsgBox Split(Target.SubAddress, "!")(0) End Sub
Et reviens nous donner le contenu exact des deux messages qui apparaissent lors d'1 clic sur un de tes liens
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
18 mars 2015 à 12:46
18 mars 2015 à 12:46
Bonjour,
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim s As String
Dim cellules As String
Dim Feuille As String
Dim lienSplit() As String
lienSplit = Split(Target.SubAddress, "!")
If UBound(lienSplit) >= 1 Then
Feuille = lienSplit(0)
cellules = lienSplit(1)
With Sheets(Feuille)
If .Visible = False Then
.Visible = True
Application.Goto .Range(cellules)
End If
End With
Else
MsgBox ("Lien non valide... " & Target.SubAddress)
End If
End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
>
Marine
18 mars 2015 à 13:55
18 mars 2015 à 13:55
Peut être :
- erreur d'orthographe entre le nom réel de la feuille et celui stocké dans l'hyperlien,
- les simple quote dans le nom de la feuille : '
si c'est la seconde solution (je n'y crois pas plus que cela...), essaye ceci :
- erreur d'orthographe entre le nom réel de la feuille et celui stocké dans l'hyperlien,
- les simple quote dans le nom de la feuille : '
si c'est la seconde solution (je n'y crois pas plus que cela...), essaye ceci :
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim s As String
Dim cellules As String
Dim Feuille As String
Dim lienSplit() As String
lienSplit = Split(Target.SubAddress, "!")
If UBound(lienSplit) >= 1 Then
Feuille = Replace(lienSplit(0), "'", "")
cellules = lienSplit(1)
With Sheets(Feuille)
If .Visible = False Then
.Visible = True
Application.Goto .Range(cellules)
End If
End With
Else
MsgBox ("Lien non valide... " & Target.SubAddress)
End If
End Sub
Marine
>
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
18 mars 2015 à 14:05
18 mars 2015 à 14:05
J'ai copié ton code et... Houra, ça marche !!! :D
Merci infiniment, je suis bloquée là-dessus depuis ce matin !
Tu me sauves ma journée pijaku :)
Merci infiniment, je suis bloquée là-dessus depuis ce matin !
Tu me sauves ma journée pijaku :)
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
18 mars 2015 à 13:59
18 mars 2015 à 13:59
Code avec vérification de l'existence de la feuille ...
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim s As String
Dim cellules As String
Dim Feuille As String
Dim lienSplit() As String
lienSplit = Split(Target.SubAddress, "!")
If UBound(lienSplit) >= 1 Then
Feuille = lienSplit(0)
cellules = lienSplit(1)
If FExist(Feuille) Then
With Sheets(Feuille)
If .Visible = False Then
.Visible = True
Application.Goto .Range(cellules)
End If
End With
Else
x = MsgBox("La feuille " & Feuille & " n'existe pas !", vbCritical, "Error")
End If
Else
MsgBox ("Lien non valide... " & Target.SubAddress)
End If
End Sub
Function FExist(NomF As String) As Boolean ' test si la feuille existe
Application.ScreenUpdating = False
On Error Resume Next
FExist = Not Sheets(NomF) Is Nothing
Application.ScreenUpdating = True
End Function
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
15 mars 2023
2 712
>
Marine
18 mars 2015 à 14:26
18 mars 2015 à 14:26
Oui, ta feuille existe, mais elle est référencée, dans l'hyperlink, entourée par des simple quoite.
En clair, dans ton lien, Feuil2 est notée 'Feuil2'.
Or, bien évidemment 'Feuil2' n'existe pas...
Il suffit donc (et c'est ce que fait mon code) d'enlever les ' :
En clair, dans ton lien, Feuil2 est notée 'Feuil2'.
Or, bien évidemment 'Feuil2' n'existe pas...
Il suffit donc (et c'est ce que fait mon code) d'enlever les ' :
Feuille = Replace(lienSplit(0), "'", "")
18 mars 2015 à 13:41
Les boîtes de dialogue me renvoient :
'TER-Isolat° combles toiture'!A1
'TER-Isolat° combles toiture'
Autrement dit, le nom de la feuille à laquelle je veux accéder. Ca t"indique quelque chose ? Je débute en VBA ;)