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

Lien hypertexte vers une cellule/objet

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

Mi_

XLDnaute Occasionnel
Bonjour le forum,

Normalement, si on ajoute un lien hypertexte à une cellule/objet vers une autre cellule de la même feuille (disons plus en bas sur une feuille très longue en profondeur), et l'on click dessus, on va aller à la cellule désignée, mais celle-ci va s'afficher en bas de l'écran et pas en haut.

Existe-t-il un moyen de réaliser un lien vers une cellule ou un objet, qui sont en bas d'une feuille, afin que le click affiche ces destination en haut de la feuille ?

Merci d'avance pour tout conseil,
Mi
 
Bonjour Mi_,

Sans passer par un code (VBA) je ne vois pas comment faire à part cibler une cellule plus bas dans ton tableau pour avoir l'information qui t'intéresse vers le haut. Mais à ce moment là, ce n'est pas la cellule avec l'information qui aura le focus.

Abel.
 
Bonjour Abel,

Merci de ta réponse.

Mais alors quel serait le code VBA pour cibler un objet sur une feuille ? Car cibler une cellule plus bas, ça ne m'arrange pas.

Merci,
Mi
 
Re,

Il faut aller dans l'éditeur de macro (Alt+F11).
Puis sélectionne Feuilx du fichier (projet) qui t'intéresse. C'est, en général, à gauche de l'écran. Fais un double clic dessus.
Dans la fenêtre de code qui va s'ouvrir, copie les lignes suivantes.

Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
        ActiveWindow.SmallScroll Down:=30
End Sub

Ce code ne sera valable que dans la feuille sélectionnée plus haut.

Chaque fois que tu sélectionneras un lien hypertexte, l'écran remontera de 30 lignes.
Adapte ce Scroll à ta situation.
Je n'ai pas testé ce qui se passe quand on fait appel à un lien pointant sur un URL par exemple.

Abel
 
Bonjour Mi_, re Abel, le Forum

En effet avec un hyperling comme celui-ci :

Sub TheHyperlinkBuilder()
   
With ActiveSheet.Hyperlinks
    .Add Anchor:=Selection, Address:='', SubAddress:='Sheet3!A500', TextToDisplay:='Test'
   
End With
End Sub

Si on click dessus, on va bien se retrouver sur la Sheet3 Range('A500') mais le scroll sera fait en sorte que cette cellule 'A500' soit en bas de fenêtre.

Donc il te faut un macro comme ceci :

Option Explicit

Sub TheScrollRollers()
Dim TheRow As Long

TheRow = Application.InputBox('Entrer un numéro de ligne', Type:=1)
ActiveWindow.ScrollRow = TheRow

End Sub


Bien sûr tu vas me dire, mais mon 'hyperlink' dans tout ça ???

Et oui, donc j'ai pensé à faire appel pour ce cas présent à une évènementielle très peu connue et utilisée : Workbook_SheetFollowHyperlink

Voici mon idée :



Une fois ce Code placé dans le Private Module de ThisWorkBook, le simple fait d'activer un hyperling 'local' (dans le classeur) devrait te renvoyer à la bonne ligne en top de fenêtre

Ceci devrait fonctionner d'une manière totalement transparent, tu copies/colles le Code dans le Private Module ThisWorkBook, et c'est tout, rien d'autre à faire...

Bon Après Midi et Week End
@+Thierry
 
Et Hop !!! Boooum ! Abel, en plus pour ton anniversaire !!! lol

Sinon on est dacodac pour l'évènementielle 'FollowHyperlink' sauf que moi je vais vraiment chercher le numéro de Row et je le place en ScrollRow, ce qui a pour avantage de pouvoir s'adapter à n'importe quelle résolution d'écran...

Bon Week End à tous et toutes
@+Thierry
 
Re Thierry et Abel,

Je n'ai pas besoin de vrai hyperlink si je peux aller à la ligne X par macro.

J'ai donc essayé d'utiliser
Option Explicit

Sub TheScrollRollers()
Dim TheRow As Long

TheRow = Application.InputBox('Entrer un numéro de ligne', Type:=1)
ActiveWindow.ScrollRow = TheRow

End Sub
Mais qui necéssite d'entrer manuellement le numéro de la ligne cible.

Existe-t-il une variante automatique de ce macro ?

Je pourrais donc créer plusieurs macros comme différents 'hyperlinks', et assigner à chaque objet (qu'on clique) un macro, donc un 'hypelink' différent.

Merci de votre patience,
Mi
 
Encore une chose,

Thierry, tu dis 'le Private Module de ThisWorkBook', mais où est-il ce Private Module, care à part les feuilles du classeur et ThisWorkBook, moi je ne trouve rien.

Merci de ton aide,
Mi
 
Re Bonjour Mi_, Abelix.dll, le Forum

Pour ta dernière question le mieux est de te faire un dessin :



Ici c'est pour faire un message automatique à l'ouverture du Fichier, mais c'est bien le même Private Module de ThisWorkBook.

Pour ton autre question, je pense que si tu appliques ma solution, tu n'as pas besoin de faire autre chose en travaillant sur des Hyperlinks.

Maintenant en fait il suffirait de faire ceci pour ne pas à avoir à saisir dans l'InputBox le numéro de Ligne :


Mais c'est subordonné à ce que tu indiques le numéro adéquate dans la cellule quand même...

Bon Week End
@+Thierry
 
Thierry,

Oui efféctivement le dessin est très didactique, même moi j'ai réussi à comprendre ... :lol:

J'ai essayé quelques hyperlinks à partir de cellules et ça marche très bien.

Par contre (et ouin!), les hyperlinks à partir d'objets ne fonctionnent pas, et c'est exactement ce que j'avais besoin.

Existe-t-il un astuce pour les hyperlinks à partir d'objets ?

Merci,
Mi
 
Re Bonsoir Mi_

Arf, dans mon jargon, on dit ça n'était pas prévu au cahier des charge !!! LOL

Non, je te dis d'avance Non, car là les Objets, tu ne vas pas pouvoir 'jouer' avec un évènementielle toute prête à l'emploi...

C'est quoi comme 'Objets' ? Des 'Shapes de Text', des 'Auto-Shapes', des 'Images', des 'ActiveX', des 'Tables', des 'Chaise', un 'Reblochon' ? (Mdr)

Disons que là je file du bureau dans 11 Minutes 43 Secondes... Mais si tu es précis dans ta réponse, je peux envisager une solution.

Bon Week End
@+Thierry
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…