déplacement hypertexte

P

phil

Guest
Re bonjour

2ème question : J'utilise des liens hypertexte pour me déplacer dans un classeur. Comment puis je faire pour que la cellule aille d'abord en A1 pour que le haut de la feuille s'affiche et par exemple ensuite aller en C9 car avec le lien hypertexte on ne peut préciser qu'une seule référence de cellule.

Merci beaucoup

Phil
 
V

Vériland

Guest
Bonjour Phil,

voilà une réponse qui fonctionne comme tu le souhaite...tu installes ce code dans VBA sur la feuille concernée......avec ce principe, lorsqu'on clique sur A1 on va en C9[/]...donc si ton lien à comme signet A1, très logiquement la macro envoie vers C9 à ce moment...

'----------------------------------------------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Address() = "$A$1" Then
Range("C9").Select
End If
End Sub
'----------------------------------------------------------------------------------------------
...copier / coller...lol

A+ Vériland

PS...je n'ai pas mis de format texte sur la macro de ce post...ceux qui suivent comprendront...lol
 
C

Christophe

Guest
Bonjour forum, bonjour phil

Que veux tu dire par d'abord aller en A1 et ensuite en C9, que ton lien t'envoie en A1, facile, mais comment veux tu arriver en C9 apres, qu'elle but as tu, veux tu y arriver en cliquant, automatiquement,...

Merci

Chris
 
P

phil

Guest
Chris,

Mon but est que je vois toujours le haut de la feuille quand j'arrive sur la feuille et qu'ensuite il se positionne sur la cellule qui doit être rempli soit C9. Si je fais un lien hypertexte directement vers la cellule C9 et que mon curseur était par exemple en c200, la cellule se positionne bien en C9 mais je ne vois pas l'entête du tableau car la cellule C9 sera en haut et à gauche d'où l'utilité d'avoir deux étapes. La solution de Vériland répond tout à fait à ce problème

Merci
 
S

STéphane

Guest
bonjour


ci-dessous un extrait de mes pages


par ailleurs, on a déjà fait une discussion avec ce sujet là

bye
Stéphane





Suivre un hyperlien : activeworkbook.followhyperlink address:="mailto:you@yours.com"

Lorsqu'on suit un hyperlien, les barres de défilement ne suivent pas :
Ci-dessous deux méthodes pour se déplacer dans une feuille en activant les barres de défilement

'Une procédure évènementielle existe sous XL97 pour effectuer une action quand Excel va suivre un hyperlien.
'On l'emploie ici en vérifiant la présence d'un Point d'exclamation, caractéristique d'un lien dit interne (dans le document lui-même).
A utiliser dans le code du classeur lui-même
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
'The address should only have a ! if it is a sheet
if InStr(Target.Subaddress, "!") then
application.Goto activecell, true
end if
end Sub


un autre exemple à inscrire dans le code d'une feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.range)
If Target.Count = 1 And Target.Hyperlinks.Count Then
doEvents
Application.Goto ActiveCell, True
End If
End Sub


Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
If InStr(Target.SubAddress, "dot") Then
Shell ("execute C:\Program Files\Microsoft Office\Office\Flammes.dot")
Else
Application.Goto activecell, True
end If
end Sub


'Utiliser la méthode Goto pour aller à l'adresse d'une cellule et utiliser le paramètre Scroll=true
Sub myHyperlink()
application.Goto Reference:=range("Sheet1!Z100"), Scroll:=true
end Sub
'Exécuter une macro en suivant un lien si celui-ci mène à la feuille Feuil1
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal target
As Hyperlink)
If Sh.Name <> "Feuil1" Then Exit Sub
Application.Run "macro2"
End Sub
and in a standard module...

Sub macro2()
MsgBox "You are now in the " & activesheet.name & " sheet"
End Sub
 

Discussions similaires

Réponses
7
Affichages
699

Statistiques des forums

Discussions
314 653
Messages
2 111 579
Membres
111 207
dernier inscrit
max008