Liens hypertexte dans excel
Résolu
pigabo51
Messages postés
7
Statut
Membre
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
dans excel, j'ai un fichier avec une feuille principale dans laquelle je crée des liens à partir de différentes cellules vers un certain nombre d'autres feuilles dans la cellule B2 (plusieurs liens de ma feuille principale pointent vers la même cellule d'une même feuille). Exemple, les liens des cellules A1, A2, A3 de la feuil1 pointent vers la cellule B2 de la feuil2. J'aimerai que lorsque je clique sur le lien de la cellule B2 de la feuil2 je retourne en feuil1!A1 si j'ai appelé de Feuil1!A1, en feuil1!A2 si j'ai appelé de A2, etc...
Quelle est la solution ?
Merci de votre réponse
dans excel, j'ai un fichier avec une feuille principale dans laquelle je crée des liens à partir de différentes cellules vers un certain nombre d'autres feuilles dans la cellule B2 (plusieurs liens de ma feuille principale pointent vers la même cellule d'une même feuille). Exemple, les liens des cellules A1, A2, A3 de la feuil1 pointent vers la cellule B2 de la feuil2. J'aimerai que lorsque je clique sur le lien de la cellule B2 de la feuil2 je retourne en feuil1!A1 si j'ai appelé de Feuil1!A1, en feuil1!A2 si j'ai appelé de A2, etc...
Quelle est la solution ?
Merci de votre réponse
A voir également:
- Private sub worksheet_followhyperlink(byval target as hyperlink)
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Trier dans excel - Guide
6 réponses
Salut,
En supposant que tes liens sur la feuille1 sont nommés lien1 et lien2, respectivement en A1 et A2 et pointent sur la cellule B2 de la feuille2, mets le code suivant dans la page de code de ta feuille1
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.Name = "Lien1" Then
Worksheets("feuil2").[b2].Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Feuil1!A1", TextToDisplay:="Feuil1!A1"
End If
If Target.Name = "Lien2" Then
Worksheets("feuil2").[b2].Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Feuil1!A2", TextToDisplay:="Feuil1!A2"
End If
Tu peux en rajouter autant que tu veux, il faut juste adapter le code...
En supposant que tes liens sur la feuille1 sont nommés lien1 et lien2, respectivement en A1 et A2 et pointent sur la cellule B2 de la feuille2, mets le code suivant dans la page de code de ta feuille1
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.Name = "Lien1" Then
Worksheets("feuil2").[b2].Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Feuil1!A1", TextToDisplay:="Feuil1!A1"
End If
If Target.Name = "Lien2" Then
Worksheets("feuil2").[b2].Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Feuil1!A2", TextToDisplay:="Feuil1!A2"
End If
Tu peux en rajouter autant que tu veux, il faut juste adapter le code...
Pourtant ici ça marche... Attention à bien respecter la casse de tes noms (Lien1 et non pas lien1)
Si tu y arrives pas je te joindrai un fichier exemple...
Si tu y arrives pas je te joindrai un fichier exemple...
bonjour
Afin de permettre une maintenance plus facile de cette fonctionnalité, je propose une macro figée sans maintenance et non liée au nom des liens et à mettre dans thisworkbook pour gérer toutes les feuilles.
Les cellules des liens hypertexte sur lesquels on veux revenir sont nommées.
Comme elles sont nommées on peut les déplacer et le lien continue à fonctionner.
Tous les liens hypertexte vers des cellules sans nom fonctionnement tout à fait normalement.
un petit exemple
Afin de permettre une maintenance plus facile de cette fonctionnalité, je propose une macro figée sans maintenance et non liée au nom des liens et à mettre dans thisworkbook pour gérer toutes les feuilles.
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
On Error Resume Next ' contrôle erreur
Set nom = Target.Parent.Name ' nom émetteur
If nom Is Nothing Then Exit Sub ' pas de nom on sort
On Error GoTo 0 ' gestion erreur remis
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
Mid(nom, 2), TextToDisplay:=Mid(nom, 8) ' position du lien retour
End Sub
Les cellules des liens hypertexte sur lesquels on veux revenir sont nommées.
Comme elles sont nommées on peut les déplacer et le lien continue à fonctionner.
Tous les liens hypertexte vers des cellules sans nom fonctionnement tout à fait normalement.
un petit exemple
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour Fxbrg,
C'est ton idée qui était un bon départ, mais comme je pense qu'une macro c'est fait pour être oublié car s'il faut la changer à chaque modification du classeur c'est difficile de l'utiliser, j'ai essayé de faire en sorte de récupérer la valeur plutôt que de la figer.
En ce qui concerne les liens hypertexte, je trouve que le côté utile est largement détruit par le côté bloqué : interdit de supprimer ou d'introduire une ligne, une colonne ou une cellule.
Et pourtant avec une macro, on peut faire en sorte que les liens suivent et là c'est beaucoup plus confortable.
Merci de ton idée et bon week-end
C'est ton idée qui était un bon départ, mais comme je pense qu'une macro c'est fait pour être oublié car s'il faut la changer à chaque modification du classeur c'est difficile de l'utiliser, j'ai essayé de faire en sorte de récupérer la valeur plutôt que de la figer.
En ce qui concerne les liens hypertexte, je trouve que le côté utile est largement détruit par le côté bloqué : interdit de supprimer ou d'introduire une ligne, une colonne ou une cellule.
Et pourtant avec une macro, on peut faire en sorte que les liens suivent et là c'est beaucoup plus confortable.
Merci de ton idée et bon week-end
merci beaucoup pour ta réponse mais je ne parviens pas à le faire fonctionner. J'ai bien entré le code en modifiant les noms mais lorsque je suis dans la cellule B2 de la feuille 2, j'aimerais en cliquant dessus revenir sur la cellule à partir de laquelle j'ai activé le lien hors ça ne marche pas.
Certainement que quelque chose m'échappe, je suis loin d'être un spécialiste excel.
Merci de ton aide