Microsoft 365 Ne pas sortir d'un onglet sauf en exécutant une macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite un beau dimanche 🙂

Je n'arrive pas à coder :
Je voudrais qu'il ne soit pas possible de changer d'onglet sauf UNIQUEMENT en exécutant la macro "action"
Et qu'il ne puisse pas être possible de changer d'onglet en cliquant sur un autre onglet


Pourriez-vous m'aider,
Je joins un p'tit fichier test.
Grands Mercis 😉
Amicalement,
lionel,
 

Pièces jointes

Bonjour usine à gaz, dudu2, mapomme, fanch55, le forum

Une autre façon, toute simple.

Bien cordialement, @+

code dans feuille action
VB:
Private Sub Worksheet_Activate()
ActiveWindow.DisplayWorkbookTabs = False
End Sub
sub action
Code:
Sub action()
ActiveWindow.DisplayWorkbookTabs = True
Application.Goto reference:=ThisWorkbook.Sheets("Feuil7").Range("G6")
ActiveCell.Value = "action exécutée"
End Sub
 

Pièces jointes

@Usine à gaz,
Je trouve le code de @Yeahou très pertinent.
Il masque les onglets quand on est sur la feuille "action" car ça n'a aucun intérêt de les voir (enfin à priori) puisqu'on ne peut pas y aller. Et il les démasque quand on a cliqué sur le bouton, ils sont donc tous affichables.
 

Pièces jointes

@Usine à gaz,
Je trouve le code de @Yeahou très pertinent.
Il masque les onglets quand on est sur la feuille "action" car ça n'a aucun intérêt de les voir (enfin à priori) puisqu'on ne peut pas y aller. Et il les démasque quand on a cliqué sur le bouton, ils sont donc tous affichables.
lol Mais je ne veux pas masquer les onglets de mon fichier de travail car je travaille sur tous mes onglets.
Je voudrais simplement que, quand je suis dans l'onglet "action", on ne puisse en sortir qu'en exécutant la macro 🙂
 
re,

sinon, encore plus simple, modifie juste le code de la sub action

Cordialement, @+
VB:
Sub action()
ActiveWindow.DisplayWorkbookTabs = True
End Sub
lol Mais je ne veux pas masquer les onglets de mon fichier de travail car je travaille sur tous mes onglets.
Je voudrais simplement que, quand je suis dans l'onglet "action", on ne puisse en sortir qu'en exécutant la macro 🙂
 
Bon, pour répondre à la dernière spécif :
dans Thisworkbook :
VB:
Private Sub Workbook_Open()
    Workbook_SheetActivate Worksheets(ActiveSheet.Name)
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    ActiveWindow.DisplayWorkbookTabs = Sh.Name <> "action"
End Sub
 
re,

sinon autre code avec une variable booleenne publique, mais pour moi, cela fait la mème chose avec un effet visuel moindre
si tu veux que l'action possible reste permanente, enlève le Val_Action = False à la fin

Cordialement, @+
code de la feuille action
VB:
Private Sub Worksheet_Deactivate()
If Not Val_Action Then ThisWorkbook.Sheets("action").Select
End Sub
code de la sub action
Code:
Public Val_Action As Boolean
Sub action()
Val_Action = True
Application.Goto reference:=ThisWorkbook.Sheets("Feuil7").Range("G6")
ActiveCell.Value = "action exécutée"
Val_Action = False
End Sub
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
441
Réponses
23
Affichages
2 K
Retour