EXCEL lien hypertexte vers feuille graphique
Résolu
vicozongo
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai une première feuille avec dans ma première colonne plusieurs trajet de trains :
- paris-->marseille
- paris-->lyon
- paris-->poitiers
etc.
pour chaque trajet, j'ai rentré plusieurs prix (en fonction de la date de départ par exemple)
j'ai ensuite crée des graphiques pour visualiser ces variations. les graphiques sont enregistrés sur des feuilles a part, dans le même classeur.
J'aimerai créer des liens hypertextes renvoyant à ces graphes.
Qqn propose cette solution :
Ce n'est pas possible directement car une feuille graphique ne contient pas de cellule à lier.
Une solution de substitution consiste à créer le lien vers une cellule d'un autre onglet et cette cellule contiendra le nom de la feuille graphique. Ensuite, dans le module objet de l'onglet contenant la cellule de destination, ajoutez cette macro évènementielle:
Vba
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Ch As Chart
If Not Intersect(Target, Range("A1")) Is Nothing Then
On Error Resume Next
Set Ch = Charts(Target.Value)
On Error GoTo 0
'Active le feuille graphique si elle existe.
If Not Ch Is Nothing Then Charts(Target.Value).Activate
End If
End Sub
Le lien va atteindre la cellule et l'évènement SelectionChange redirige automatiquement vers le graphique, dont le nom est saisi dans la cellule. Ici, le lien doit pointer vers la cellule A1.
Je rencontre DEUX problèmes.
1°) je crée l'onglet "redirection" et je met le titre paris-->marseille en A1
je retourne sur ma première feuille et je clique sur mon lien : CA MARCHE, j'arrive sur mon graphe
je retourne sur ma première feuille et je clique sur mon lien : ca NE marche PLUS, j'arrive sur l'onglet redirection, et je dois cliquer sur une cellule autre que A1 puis sur A1 pour accéder a mon onglet graphique !!!
(je pense que cela s'explique par le fait qu'il faut que la curseur "aille" en A1 pour que ca marche et que si il y est déjà, ca plante, mais je ne sais pas comment y remédier)
2°) comme dis plus haut, j'ai plusieurs trajets; Je voudrais par contre n'avoir qu'un onglet redirection avec tous mes trajets. Or, je ne sais pas programme et donc je n'arrive pas a modifier le code en conséquence
Voila. J'espère être assez clair, je peux vous envoyer mon fichier si ca aide. Je sais que ca serait possible en mettant le graphe dans une feuille classique et en renvoyant a une cellule mais c'est moins "beau"
Merci beaucoup pour votre future aide.
Victor
j'ai une première feuille avec dans ma première colonne plusieurs trajet de trains :
- paris-->marseille
- paris-->lyon
- paris-->poitiers
etc.
pour chaque trajet, j'ai rentré plusieurs prix (en fonction de la date de départ par exemple)
j'ai ensuite crée des graphiques pour visualiser ces variations. les graphiques sont enregistrés sur des feuilles a part, dans le même classeur.
J'aimerai créer des liens hypertextes renvoyant à ces graphes.
Qqn propose cette solution :
Ce n'est pas possible directement car une feuille graphique ne contient pas de cellule à lier.
Une solution de substitution consiste à créer le lien vers une cellule d'un autre onglet et cette cellule contiendra le nom de la feuille graphique. Ensuite, dans le module objet de l'onglet contenant la cellule de destination, ajoutez cette macro évènementielle:
Vba
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Ch As Chart
If Not Intersect(Target, Range("A1")) Is Nothing Then
On Error Resume Next
Set Ch = Charts(Target.Value)
On Error GoTo 0
'Active le feuille graphique si elle existe.
If Not Ch Is Nothing Then Charts(Target.Value).Activate
End If
End Sub
Le lien va atteindre la cellule et l'évènement SelectionChange redirige automatiquement vers le graphique, dont le nom est saisi dans la cellule. Ici, le lien doit pointer vers la cellule A1.
Je rencontre DEUX problèmes.
1°) je crée l'onglet "redirection" et je met le titre paris-->marseille en A1
je retourne sur ma première feuille et je clique sur mon lien : CA MARCHE, j'arrive sur mon graphe
je retourne sur ma première feuille et je clique sur mon lien : ca NE marche PLUS, j'arrive sur l'onglet redirection, et je dois cliquer sur une cellule autre que A1 puis sur A1 pour accéder a mon onglet graphique !!!
(je pense que cela s'explique par le fait qu'il faut que la curseur "aille" en A1 pour que ca marche et que si il y est déjà, ca plante, mais je ne sais pas comment y remédier)
2°) comme dis plus haut, j'ai plusieurs trajets; Je voudrais par contre n'avoir qu'un onglet redirection avec tous mes trajets. Or, je ne sais pas programme et donc je n'arrive pas a modifier le code en conséquence
Voila. J'espère être assez clair, je peux vous envoyer mon fichier si ca aide. Je sais que ca serait possible en mettant le graphe dans une feuille classique et en renvoyant a une cellule mais c'est moins "beau"
Merci beaucoup pour votre future aide.
Victor
A voir également:
- EXCEL lien hypertexte vers feuille graphique
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Changer carte graphique - Guide
6 réponses
bonjour
En fait, tu n'as pas besoin d'onglet "redirection".
Dans ta feuille de données, en supposant que tes noms de graphe sont dans la colonne E, (si c'est une autre colonne, suffit d'adapter) tu mets ta macro modifiée comme ceci :
En sélectionnant le nom du graphe tu atteins le graphique concerné.
En fait, tu n'as pas besoin d'onglet "redirection".
Dans ta feuille de données, en supposant que tes noms de graphe sont dans la colonne E, (si c'est une autre colonne, suffit d'adapter) tu mets ta macro modifiée comme ceci :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("E:E")) Is Nothing And Target.Value <> "" Then On Error Resume Next 'Active la feuille graphique si elle existe. Charts(Target.Value).Activate If Err.Number <> 0 Then Err.Clear MsgBox "Pas de graphique à ce nom" End If End If End Sub
En sélectionnant le nom du graphe tu atteins le graphique concerné.
Bonsoir,
Je pense qu'il est facile de mettre un lien hypertext pou accéder à un graph qui est sur le même classeur ou autre...
>> Sélectionner la cellule ou le lien doit être incorporer >> Cliquer sur le bouton Insérer un lien hypertext
Dans le texte du haut mettre le texte à écrire dans la cellule >> Cliquer sur Signet, sélectionner la feuille et mettre la cellule d'un coin du graphe.
et si c'est une feuille graph c'est encore plus simple, sélectionner seulement la feuille.
A+
Je pense qu'il est facile de mettre un lien hypertext pou accéder à un graph qui est sur le même classeur ou autre...
>> Sélectionner la cellule ou le lien doit être incorporer >> Cliquer sur le bouton Insérer un lien hypertext
Dans le texte du haut mettre le texte à écrire dans la cellule >> Cliquer sur Signet, sélectionner la feuille et mettre la cellule d'un coin du graphe.
et si c'est une feuille graph c'est encore plus simple, sélectionner seulement la feuille.
A+
@ gbinforme : merci beaucoup, ca marche impec comme ca. Le problème de la répétition (par exemple afficher deux fois de suite Paris-Marseille) existe toujours mais là, ca me semble normal.
@lermitte222 si tu peux détailler un peu plus car il n'y a pas de "signet" dans la fenêtre s'ouvrant après lien hypertexte...
merci beaucoup en tout cas...
victor
@lermitte222 si tu peux détailler un peu plus car il n'y a pas de "signet" dans la fenêtre s'ouvrant après lien hypertexte...
merci beaucoup en tout cas...
victor
bonjour
Tu peux remplacer le clic de sélection par le double clic et tu peux utiliser deux fois de suite
Tu peux remplacer le clic de sélection par le double clic et tu peux utiliser deux fois de suite
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True If Not Intersect(Target, Range("E:E")) Is Nothing And Target.Value <> "" Then On Error Resume Next 'Active la feuille graphique si elle existe. Charts(Target.Value).Activate If Err.Number <> 0 Then Err.Clear MsgBox "Pas de graphique à ce nom" End If End If End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question