Accéder à des onglets cachés avec un lien sur une autre feuille [Résolu]

Signaler
-
 Erwan -
Bonjour à tous,

Je débute en Vbnet et j'ai besoin de votre aide.

Mon problème:

Sur ma feuille principale, j'ai 20 noms de ville différents correspondant chacun à une feuille de mon classeur. Chaque noms de ville (chacun dans une cellule différente) possède un lien hypertexte vers cette feuille. Seulement comme j'ai beaucoup de villes, je voudrais cacher les feuilles des villes. Seulement, quand je fais ca, mon lien disparaît.
Je cherche donc un code qui me permetterait de créer un lien sur le nom de ma ville et lorsque je clic dessus, qu'il m'affiche la feuille correspondante et quand je quitte la feuille (ou revient à la page principale), qu'il me la cache de nouveau.

Je ne sais pas comment créer un lien sur une cellule.
Je ne sais pas comment écrire le fait que l'utilisateur clic sur la cellule.
Et je ne sais pas écrire que quand il fait ca, je dois afficher et aller dans l'onglet correspondant.

Merci de votre aide!

Cordialement

Erwan

2 réponses

Messages postés
31199
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 janvier 2021
342
Bonjour,

Tu nous dis :
Je débute en Vbnet
Mais tu nous parles d' Excel ...... c'est donc du VBA que tu fais ... non ??

Donc... si c'est bien de VBA dont il s'agit....
Je ne sais pas comment créer un lien sur une cellule.
Je ne sais pas comment écrire le fait que l'utilisateur clic sur la cellule.
Et je ne sais pas écrire que quand il fait ca, je dois afficher et aller dans l'onglet correspondant.


Il te faut regarder la méthode : Worsheet_selectionChange

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub


La variable Target correspondant à la cellule sur laquelle l'utilisateur a cliqué.
c'est un objet de type RANGE)...
Il dispose donc des propriété : value , row, address, column...etc....

Pour ce qui est de Afficher/Masquer des onglets dans Excel..il te suffit de regarder la propriété : visible que tu mets à TRUE ou FALSE selon tes besoins...

Voila... tu as de quoi commencer à coder.

PS: je déplace ton sujet dans la section VBA du forum



Merci beaucoup de ta réponse oui, VBA désolé!
Je vais tenter d'utiliser cette méthode.
J'ai tenté ca mais ca ne fonctionne pas, il ne se passe rien lorsque je clique sur ma case C12..
'est la première fois que j'utilise cette fonction je ne suis pas sûr du tout si ce que j'ai fait est bon jusque là..

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Address = "$C$12" Then

Sheets(2).Visible = True
Sheets(2).Select

End If

End Sub

Merci de l'aide!
En fin de compte cela marche si je ne fusionne pas mes cellules!
Je te remercie!

Dernière question, je vais enregistrer mon excel sous format page web, tu sais comment je peux faire fonctionner mes macros sous ce format?
Messages postés
31199
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 janvier 2021
342
Dernière question, je vais enregistrer mon excel sous format page web, tu sais comment je peux faire fonctionner mes macros sous ce format?

Sous format Page Web ? Donc en HTML ??
Et tu veux faire fonctionner des Macros en html ?????.... pas possible !
Ah c'est bien dommage! Tant pis pas de souci je vais me débrouiller autrement!
Bonne journée!