Excel : lien vers feuilles graphiques cachées
Résolu
vicozongo
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
vicozongo Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
vicozongo Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un classeur Excel dont la première page contient différents trajets en train et leurs prix respectifs en fonction du jour de départ.
Grace a une macro, je peux renvoyer vers des graphiques (chacun placé sur une nouvelle feuille et PAS EN TANT QU'OBJET, il n'y a donc pas de cellule sur ces pages graphiques)
Le problème c'est que j'ai du coup, beaucoup, beaucoup d'onglets (un par trajet), et que je souhaiterai ne garder que la premiere feuille visible, puis quand je clique sur un lien, afficher le graphique en question.
Puis quand je re-clique sur l'onglet de ma première page, recacher l'onglet du graphique précédemment apparu...
J'ai essayer en cachant mes pages mais là, plus rien ne se passe...
Merci pour votre future aide.
Victor
J'ai un classeur Excel dont la première page contient différents trajets en train et leurs prix respectifs en fonction du jour de départ.
Grace a une macro, je peux renvoyer vers des graphiques (chacun placé sur une nouvelle feuille et PAS EN TANT QU'OBJET, il n'y a donc pas de cellule sur ces pages graphiques)
Le problème c'est que j'ai du coup, beaucoup, beaucoup d'onglets (un par trajet), et que je souhaiterai ne garder que la premiere feuille visible, puis quand je clique sur un lien, afficher le graphique en question.
Puis quand je re-clique sur l'onglet de ma première page, recacher l'onglet du graphique précédemment apparu...
J'ai essayer en cachant mes pages mais là, plus rien ne se passe...
Merci pour votre future aide.
Victor
A voir également:
- Excel : lien vers feuilles graphiques cachées
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
6 réponses
Bonjour,
Je situe pas vraiment où se trouve ton problème.
Sur ta première page, tu mets des boutons affectés à des macros qui renvoient chacune sur une page de graph :
Sub montre()
With Sheets("graph_n")
.Visible = True
.Activate
End With
End Sub
Et sur chaque page de graph, tu mets un bouton affecté à une macro qui cache la feuille. Ou bien, pour éviter de mettre des boutons partout, tu peux ajouter un bouton sur la barre d'outils.
Sub cache()
ActiveSheet.Visible = False
End Sub
m@rina
Je situe pas vraiment où se trouve ton problème.
Sur ta première page, tu mets des boutons affectés à des macros qui renvoient chacune sur une page de graph :
Sub montre()
With Sheets("graph_n")
.Visible = True
.Activate
End With
End Sub
Et sur chaque page de graph, tu mets un bouton affecté à une macro qui cache la feuille. Ou bien, pour éviter de mettre des boutons partout, tu peux ajouter un bouton sur la barre d'outils.
Sub cache()
ActiveSheet.Visible = False
End Sub
m@rina
Re...
J'ajouterais que s'il y a effectivement beaucoup de feuilles, on peut imaginer une seule macro qui affiche le bon graphique et non pas une macro par graphique.
Il faudrait par exemple que la macro reprenne en variable le numéro de la ligne ou le nom de la cellule sélectionnée.
m@rina
J'ajouterais que s'il y a effectivement beaucoup de feuilles, on peut imaginer une seule macro qui affiche le bon graphique et non pas une macro par graphique.
Il faudrait par exemple que la macro reprenne en variable le numéro de la ligne ou le nom de la cellule sélectionnée.
m@rina
salut
bon j'ai essayer ce we les différentes solutions, avec boutons sur chaque feuille ou dans la barre d'outils.
je rencontre toujours le même problème, une fois la page cachée, impossible de la faire réapparaître.
Pour info, voila le code utilisé pour renvoyer de ma page d'accueil à mes feuilles graphique :
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
si t'as une solution...
bon j'ai essayer ce we les différentes solutions, avec boutons sur chaque feuille ou dans la barre d'outils.
je rencontre toujours le même problème, une fois la page cachée, impossible de la faire réapparaître.
Pour info, voila le code utilisé pour renvoyer de ma page d'accueil à mes feuilles graphique :
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
si t'as une solution...
le problème c'est que je débute vraiment en excel et donc mettre un "bouton" relève déjà du défis
mais je vais chercher un peu et je te redemanderai si besoin
merci
vicozongo
mais je vais chercher un peu et je te redemanderai si besoin
merci
vicozongo
Pour mettre un bouton, voici une solution parmi d'autres, on ne peut plus simple : ;)
Tu dessines un rectangle ou n'importe quelle autre forme, puis cliic droit => Affecter une macro
Tu choisis ta macro et c'est tout...
m@rina
Tu dessines un rectangle ou n'importe quelle autre forme, puis cliic droit => Affecter une macro
Tu choisis ta macro et c'est tout...
m@rina
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
donc je résume :
1°) j'ai sur ma première page une macro qui m'envoie qd je clique sur un trajet vers le graphe correspondant.
Cette macro est générale a ma première feuille donc pas besoin de bouton la, si ??
2°) Après, j'ai le choix :
a-) sur mes toutes pages graphiques, je crée un rectangle, je fais ajouter macro. (comment s'écrit-elle ?)
b-) dans la barre d'outil, je crée un bouton (comment, parce que la le rectangle ne marche pas) et je met la macro :
Sub cache()
ActiveSheet.Visible = False
End Sub
je penche pour le b-), qui m'a l'air plus élégant.
Après si j'ai bien compris, je devrai cacher toute s me feuilles en cliquant sur ce bouton unique (ou sur chaque bouton), puis a chaque clic sur le lien trajet, le graphe correspondant s'ouvre et je le recache quand j'ai envie ?
Enfin, dernière question, si par exemple je veux réafficher les feuilles graphiques sans passer pas mon lien, je peux ? si oui, comment ?
dsl mais pour un débutant c'est vraiment dur
vicozongo
1°) j'ai sur ma première page une macro qui m'envoie qd je clique sur un trajet vers le graphe correspondant.
Cette macro est générale a ma première feuille donc pas besoin de bouton la, si ??
2°) Après, j'ai le choix :
a-) sur mes toutes pages graphiques, je crée un rectangle, je fais ajouter macro. (comment s'écrit-elle ?)
b-) dans la barre d'outil, je crée un bouton (comment, parce que la le rectangle ne marche pas) et je met la macro :
Sub cache()
ActiveSheet.Visible = False
End Sub
je penche pour le b-), qui m'a l'air plus élégant.
Après si j'ai bien compris, je devrai cacher toute s me feuilles en cliquant sur ce bouton unique (ou sur chaque bouton), puis a chaque clic sur le lien trajet, le graphe correspondant s'ouvre et je le recache quand j'ai envie ?
Enfin, dernière question, si par exemple je veux réafficher les feuilles graphiques sans passer pas mon lien, je peux ? si oui, comment ?
dsl mais pour un débutant c'est vraiment dur
vicozongo
Bonjour,
1°) j'ai sur ma première page une macro qui m'envoie qd je clique sur un trajet vers le graphe correspondant.
Cette macro est générale a ma première feuille donc pas besoin de bouton la, si ??
Oui, effectivement, c'est ce que je te proposais dans ma deuxième réponse, à savoir récupérer une variable pour afficher n'importe quelle feuille. Cependant ta macro ne fait qu'activer la feuille... Il faut avant qu'elle la rende visible.
Tu remplaceras : "Charts(Target.Value).Activate"
par :
Pour les graphs, tu as le choix entre mettre un bouton sur la feuille ou un bouton sur la barre d'outils. Le résultat est le même. Personnellement, je trouve sympa d'avoir le bouton sur la feuille, c'est visible et plus direct.
Voici un exemple ici :
https://www.cjoint.com/?iblahiz6Rx
Donc, effectivement un double clic sur la cellule correspondante au graph permet d'afficher le graph. Un clic sur le bouton CACHER permet de masquer la feuille du graph.
Pour afficher une feuille sans double cliquer sur la cellule : Menu Format, Feuille, Afficher.
On peut faire une macro pour tout afficher d'un coup :
m@rina
1°) j'ai sur ma première page une macro qui m'envoie qd je clique sur un trajet vers le graphe correspondant.
Cette macro est générale a ma première feuille donc pas besoin de bouton la, si ??
Oui, effectivement, c'est ce que je te proposais dans ma deuxième réponse, à savoir récupérer une variable pour afficher n'importe quelle feuille. Cependant ta macro ne fait qu'activer la feuille... Il faut avant qu'elle la rende visible.
Tu remplaceras : "Charts(Target.Value).Activate"
par :
With Charts(Target.Value) .Visible = True .Activate End With
Pour les graphs, tu as le choix entre mettre un bouton sur la feuille ou un bouton sur la barre d'outils. Le résultat est le même. Personnellement, je trouve sympa d'avoir le bouton sur la feuille, c'est visible et plus direct.
Voici un exemple ici :
https://www.cjoint.com/?iblahiz6Rx
Donc, effectivement un double clic sur la cellule correspondante au graph permet d'afficher le graph. Un clic sur le bouton CACHER permet de masquer la feuille du graph.
Pour afficher une feuille sans double cliquer sur la cellule : Menu Format, Feuille, Afficher.
On peut faire une macro pour tout afficher d'un coup :
Sub montre_tout() For Each f In ActiveWorkbook.Sheets f.Visible = True Next f End Sub
m@rina