Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction Back d'un fureteur en Excel ?

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

G

gber1

Guest
Bonjour,

J'aimerais que quelqu'un me dise s'il est possible d'installer un bouton qui serait lié à un macro en VBA et qui ferait la même fonction que le bouton "Back" d'un fureteur. C. à d. qu'il revoit l'utilisateur d'où il vient.

J'ai un fichier Excel qui contient des liens hypertexte avec une onglet que j'ai nommé "Aide" et dans lequel je définit des concepts ou je clarifie des définitions. J'établis des liens hypertextes à partir de mot précis à l'intérieur des différents onglets, ces liens amènent l'utilisateur à l'onglet Aide, à la cellule voulue.

Ce que j'aimerais, c'est d'utiliser un bouton qui serait dans l'onglet Aide et qui déclencherait une macro qui retournerait l'utilisateur à la cellule qui contient le lien hypertexte.

J'espère avoir été assez clair. Et je vous remercis à l'avance de votre aide.

Gilles
 
Re : Fonction Back d'un fureteur en Excel ?

Bonsoir gber1,

Si tous les liens hypertextes qui mènent à la feuille Aide sont en Feuil1, essayez cette macro :

Code:
Sub Renvoie()
Dim h As Object
For Each h In Sheets("Feuil1").Hyperlinks 'nom de feuille à adapter
 If InStr(h.SubAddress, ActiveCell.Address(0, 0)) Then _
   Application.Goto h.Parent: Exit Sub
Next
End Sub

Elle renvoie au lien menant à la cellule sélectionnée.

A+
 
Re : Fonction Back d'un fureteur en Excel ?

Re,

Mieux sans doute :

Code:
Sub Renvoie()
Dim h As Object
For Each h In Sheets("Feuil1").Hyperlinks 'nom de feuille à adapter
 If h.SubAddress = "Aide!" & ActiveCell.Address(0, 0) Then _
   Application.Goto h.Parent: Exit Sub
Next
End Sub

Edit : j'ai testé, c'est tout bon, on peut aussi écrire :

Code:
Sub Renvoie()
Dim h As Object
For Each h In Sheets("Feuil1").Hyperlinks 'nom de feuille à adapter
 If h.SubAddress = ActiveSheet.Name & "!" & ActiveCell.Address(0, 0) Then _
   Application.Goto h.Parent: Exit Sub
Next
End Sub

A+
 
Dernière édition:
Re : Fonction Back d'un fureteur en Excel ?

Bonjour

Malheureusement, mon fichier contient 45 onglets qui contiennent des liens vers mon onget Aide. 40 ce ceux-ci sont identiques. C'est pourquoi j'aimerais avoir un "Renvoi" à l'onglet d'origine puisqu'il pourra s'agit d'un lien provenant d'un des 40 onglets identiques ou des 5 autres différents.

Merci beaucoup

Gilles
 
Re : Fonction Back d'un fureteur en Excel ?

Bonjour gber1, tototiti,

Le fait qu'il y ait 45 feuilles ne pose pas de problème : il suffit de faire une boucle supplémentaire pour passer en revue chaque feuille :

Code:
Sub Renvoie()
Dim w As Worksheet, h As Object
For Each w In Worksheets
  For Each h In w.Hyperlinks
    If h.SubAddress = ActiveSheet.Name & "!" & ActiveCell.Address(0, 0) Then _
      Application.Goto h.Parent: Exit Sub
  Next
Next
End Sub

A+
 
Re : Fonction Back d'un fureteur en Excel ?

Re,

Juste pour dire que, s'agissant de la feuille Aide (avec donc des rubriques), plusieurs liens hypertextes peuvent conduire à la même cellule.

Dans ce cas, ma solution ne va pas, il faut simplement revenir à la feuille qui était activée précédemment (le lien hypertexte n'ayant plus d'importance).

C'est ce que fait la solution de tototiti.

A+
 
Re : Fonction Back d'un fureteur en Excel ?

Bonsoir a tutti et à toto,
En partant de l'exemple de tototiti
dans le module de ThisWorkbook (j'allais dire de titi) :
Code:
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Feuil = Sh.Name
Cel = Target.Parent.Address
End Sub
et dans un module standard :
Code:
Public Feuil As String, Cel As String
Sub Bouton1_QuandClic()
    Sheets(Feuil).Activate
    Range(Cel).Select
End Sub
A+
kjin
 
Re : Fonction Back d'un fureteur en Excel ?

Bonjour

Un petit dernier pour la route ;-)

Dans This workbook le même que dans le fil de kjin

Dans le module standard juste les déclarations
Code:
Public Feuil As String, Cel As String
Dans le code de la feuille d'aide (dont le retour est aussi fait par hyperlien et non bouton)
Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    If  Feuil   <> "" Then Application.Goto Sheets(Feuil ).Range(Cel)
End Sub
 
Re : Fonction Back d'un fureteur en Excel ?

Merci à tous ceux (ou celles ??) qui ont bien voulus m'aider. Tout fonctionne comme je le voulais.

Encore une fois merci pour votre grandre expertise.

Gills
 
- 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
1
Affichages
772
M
Réponses
2
Affichages
1 K
MarionP85
M
O
Réponses
5
Affichages
2 K
Olocsob
O
E
Réponses
5
Affichages
1 K
Elsa.b4
E
B
Réponses
4
Affichages
2 K
S
Réponses
2
Affichages
2 K
satanas14
S
S
Réponses
0
Affichages
1 K
StagiaiireVannes
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…