Aide VBA/Macro (Figer onglet + affichage bouton en fonction d'une cellule)

Bonjour à tous,

Je ne maîtrise pas du tout les macros/ VBA mais je cherche de l'aide pour finaliser un fichier de suivi budgétaire pour le boulot (Je mettrai à disposition le fichier avec des fausses informations).

Je cherche de l'aide pour 2 actions :

  1. Je souhaite figer 2 onglets. En effet mon fichier comportant de nombreuses feuilles, je veux que les feuilles nommées "INFOS DIRECTION" et "INSTRUCTIONS" soient toujours visible même si je défile à droite vers les autres onglets. Il me semble qu'il faut rajouter une macro sur "ThisWebhook" mais je n'en trouve pas une qui fonctionne et je ne souhaite pas supprimer celle déjà en place permettant la mise à jour automatique de tous les TCD de mon fichier Excel.
  2. Sur un onglet, je souhaite qu'une personne réponde à 4 questions et que 2 boutons soient affichés avec un lien hypertexte différents en fonction des réponses aux questions (1 bouton permettant d'accéder à la synthèse grâce à un lien hypertexte et 1 bouton permettant d'accéder au graphique grâce à un lien hypertexte). Par ailleurs, je ne veux pas que les boutons soient affichés si les réponses aux questions sont vides.

Je mets à disposition un autre fichier Excel avec toutes les possibilités et le chemin que je souhaiterai avoir pour chaque bouton (72 possibilités avec 2 boutons à chaque fois) soit 144 possibilités. Ne connaissant pas le fonctionnement, j'ai mis une forme avec un lien hypertexte mais il est tout à fait possible de faire une autre proposition.

Je souhaite simplifier la navigation des utilisateurs afin qu'ils répondent aux 4 questions et que seulement 2 boutons soient affichés.

PS: ne connaissant pas le format du chemin . lien hyper texte, j'ai mis le nom de l'onglet et la cellule

Je suis preneur d'un peu d'aide, je ne sais pas si cela est facile, complexe.

Par avance, merci de l'aide que vous pourrez me fournir sur le sujet.

Je me permets un "UP"
Je ne sais pas si c'est autorisé donc je m'excuse par avance si je fais quelque chose qui n'est pas autorisé.

PS: mon texte fait peur mais j'ai essayé d'être le plus clair et de détailler le plus possible.
Je suis persuadé que pour vous, ce n'est pas difficile mdr

Bonjour Fatal1ty,

Qu'entends tu pas par Figer deux onglets. Figer me fais plus penser à l'écran, c'est à dire à l'affichage de tes feuilles.

Bloquer ce serait plus explicite et indiquerais que tu souhaites toujours faire apparaître les onglets (en bas du classeur) afin de pouvoir revenir sur ces feuilles.

Est cela que tu veux?

Ensuite pour ton 2ième souci. Il y a dans le menu Formules d'Excel le choix de l'hypertexte. En le sélectionnant une fenêtre s'ouvre et tu indiques l'emplacement du fichier désiré.

Ensuite tu peux choisir de les cacher en fonction de tes réponses aux questions.

Salut X Cellus,

En effet le mot figé n'est peut être pas approprié.
Je souhaite en effet, offrir la possibilité aux utilisateurs de toujours voir ces 2 onglets en bas.

Concernant le deuxième point, je t'avoue ne pas connaitre.
Est-ce que tu peux m'en dire un peu plus stp ?

Suite,

Dans le menu Excel tu choisis Formules puis Recherche et Référence. Sélectionne LIEN_HYPERTEXTE.

Ou tu peux directement le taper dans une cellule = LIEN_HYPERTEXTE(chemin du fichier;Nomchoisi).

Fais un test sur un de tes fichiers. L'extension doit être comprise (xlsx ou xlsm)

A nouveau,

Pour ton premier besoin, soit pouvoir revenir directement sur deux feuilles précises.

Tu peux ajouter le code ci-dessous dans le Workbook

Private sub Workbook_Open()
'Touches de redirection vers 2 onglets ALT w et ALT x
Application.OnKey "%w", "RetWS1"
Application.OnKey "%x", "RetWS2"
End sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Annulatation des touches de redirection vers 2 onglets ALT w et ALT x
Application.OnKey "%w", ""
Application.OnKey "%x", ""
End Sub

Puis ensuite dans le code d'un module

Sub RetWS1()
Sheets("INFOS DIRECTION").Select
End Sub

Sub RetWS2()
Sheets("INSTRUCTIONS").Select
End Sub

Ainsi en appuyant à la fois sur ALT et w l'utilisateur ira directement sur la feuille INFOS et idem pour ALT x vers INSTRUCTIONS

Salut X Cellus,

merci pour les précisions.

Concernant le lien hyper texte, j'ai compris le fonctionnement de la formule et je t'en remercie.
Avec un collegue nous avons décidé d'abandonner notre idée car elle serait trop compliqué à maintenir ... on a fait des bonnes vieilles formes avec des liens hypertextes mdr.

Concernant le blocage des onglets, je souhaite faire quelque chose de très simple ... je ne veux pas que l'utilisateur est à faire ALt + W pour y retourner.
Je souhaiterai juste qu'elle soit afficher en permanence en bas

Merci encore pour ton aide

Bonjour Fatal1ty,

Vu le Lien_Hypertexte abandonné. Et la solution clavier pour revenir sur les onglets souhaités.

Tu peux aussi envisager que ces 2 onglets suivent le dernier onglet. En se positionnant juste avant lui.

Avec Worksheets("INSTRUCTIONS").Move before:= ActiveSheet

A placer dans le Workbook comme ceci.

Private sub Workbook_SheetActivate(Byval sh as Object)
Feuil = ActiveSheet.Name
if sh.Name <> "INSTRUCTIONS" then Worksheets("INSTRUCTIONS").Move before:=ActiveSheet
Application.EnableEvents=False: Sheets(Feuil).select
Application.EnableEvents=True
End sub

Bons tests, bonne continuation.

Rechercher des sujets similaires à "aide vba macro figer onglet affichage bouton fonction"