Lancer procédure quand on clique sur un lien hypertexte.

Lancer procédure quand on clique sur un lien hypertexte. - VB/VBA/VBS - Programmation

Marsh Posté le 21-01-2010 à 13:44:35    

Bonjour,
 
J'ai quelques notions (élémentaires) de VBA mais là je bloque.
Voila mon problème.
 
J'ai des fichiers principaux qui contiennent des liens hypertextes vers des rubriques d'aide.
J'aimerais qu'à chaque fois que l'opérateur clique sur un de ces liens (nommons-le lien A), il puisse revenir après lecture de l'aide à l'emplacement où il était précédemment.
 
Mon idée est de créer une procédure qui se lance au moment où l'opérateur clique sur le lien A, et qui crée un lien qui s'afficherait sur la rubrique d'aide et qui lui permettrait de revenir exactement où il était au moment de cliquer sur le lien A.
 
Je sais que le code ne doit pas être très complexe, mais j'ai quelques difficultés.
 
Je vous remercie de répondre à ma question.
 
Cordialement.

Reply

Marsh Posté le 21-01-2010 à 13:44:35   

Reply

Marsh Posté le 21-01-2010 à 23:40:25    

Avec quel programme ? Excel ? Word ? ... ?


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Marsh Posté le 22-01-2010 à 01:38:47    

avec Excel. Pardon...

Reply

Marsh Posté le 23-01-2010 à 12:43:52    

Tes rubriques d'aide sont-elles dans un fichier externe ou sont-elles inclues dans le fichier excel, sur un autre onglet par exemple ?


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Marsh Posté le 23-01-2010 à 15:23:10    

Les rubriques d'aide sont simplement des feuilles Excel inclues dans le même classeur que le fichier principal.

Reply

Marsh Posté le 23-01-2010 à 18:18:07    

Pas facile de t'aider, tu distilles les infos au compte-gouttes !
 
Bref...
 
Voici un exemple de code qui, quand tu cliques sur un lien hypertexte, insère un nouveau lien hypertexte dans la cellule A1 de la feuille mise en lien. Ce nouveau lien pointe vers le premier hyperlien.
 
Comment insérer le code ?
Clic droit sur l'onglet de ta feuille principale (celle qui contient les liens vers les onglets d'aide) et clique sur "Voir le code".
Ensuite, fais un copier-coller du code ci dessous et modifie éventuellement la valeur des variables strAddCellule et strMessage si tu veux que ta cellule "Retour" soit ailleurs qu'en A1 et affiche un texte autre que "Retour".
 

Option Explicit
 
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim strAddCellule As String
Dim strAddRetour As String
Dim strMessage As String
Dim ranAdresse As Range
 
'Indiquer ici l'adresse de la cellule où il faudra cliquer pour retourner à la feuille principale
strAddCellule = "A1"
'Indiquer ici le texte à écrire pour indiquer le retour à la feuille principale :
strMessage = "Retour"
 
'Ecriture de l'adresse retour :
With Target.Parent
    Set ranAdresse = Cells(.Cells.Row, .Cells.Column)
    strAddRetour = .Worksheet.Name & "!" & ranAdresse.Address
End With
 
'Insertion de l'hyperlien retour dans la cellule choisie :
     ActiveSheet.Range(strAddCellule).Select
     ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
            strAddRetour, TextToDisplay:=strMessage
 
End Sub


 
Chez moi (Excel 203), ça marche :)


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Marsh Posté le 25-01-2010 à 11:26:59    

merci c'est parfait !
;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed