XL 2013 Masquer Feuil1 si Feuil3 NON masquée

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Me re-voilou pour une nouvelle question.

Malgré mes recheches, je n'arrive pas à trouver la réponse.
Mais peut-être que ce n'est pas possible.

Ce que je voudrais faire :
Ici, je suis sur ma Feuill3

J'ai besoin que tant que je suis sur ma Feuill3, l'onglet Feuil1 ne puisse pas être sélectionné.


Auriez-vous la solution ? (petit fichier test joint)

Un grand Merci encore une fois.

Bonne journée à toutes et à tous
Amicalement,
arthour973,
 

Pièces jointes

  • Test ne pas selectionner Feuil1 si Feuil3 actif.xlsm
    10.1 KB · Affichages: 26

CB60

XLDnaute Barbatruc
Bonjour,
Ne sachant pas ce que tu souhaite faire exactement
Private Sub Worksheet_Deactivate()
Sheets("feuil1").Visible = False
End Sub
ou
Private Sub Worksheet_Activate()
Sheets("feuil1").Visible = False
End Sub
 

Johan

XLDnaute Occasionnel
Hey,

Un truc tout bête, directement au niveau de ta feuille concernée

Private Sub Worksheet_Activate()
Sheets("Feuil1").Activate
MsgBox "pas touche à la feuille 1 !"
Sheets("Feuil3").Select
End Sub

=> auto-select de la feuille 3 si l'utilisateur tente d'accéder à la première, avec msg d'avertissement (facultatif)

Johan
 

Lone-wolf

XLDnaute Barbatruc
Bonjour CB60, Lionel, le Forum :)

@arthour973

À mettre dans le module de la feuil1

VB:
Private Sub Worksheet_Activate()
    With Feuil3
        If .Range("m2") <> "" Then    'ou une autre cellule
            Me.Activate
        Else
            .Activate
        End If
    End With
End Sub

EDIT: bonjour Johan :)
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @arthour973,

Un essai dans le fichier joint.Code dans module1 (une variable) et sinon code dans module de ThisWorkbook.

code dans ThisWorkbook :
VB:
Private Sub Workbook_Open()
  DeFeuil3 = ActiveSheet.Name = "Feuil3"
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  If Sh.Name = "Feuil1" Then If DeFeuil3 Then Feuil3.Activate
    DeFeuil3 = ActiveSheet.Name = "Feuil3"
End Sub

Code dans module1 :
VB:
Public DeFeuil3 As Boolean
 

Pièces jointes

  • arthour973- ne pas selectionner Feuil1 si Feuil3 actif- v1.xlsm
    16.9 KB · Affichages: 17

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Hey,

Un truc tout bête, directement au niveau de ta feuille concernée

Private Sub Worksheet_Activate()
Sheets("Feuil1").Activate
MsgBox "pas touche à la feuille 1 !"
Sheets("Feuil3").Select
End Sub

=> auto-select de la feuille 3 si l'utilisateur tente d'accéder à la première, avec msg d'avertissement (facultatif)

Johan

Bonjour Johan :)

Merci pour ta réponse mais cela ne convient pas car il ne faut pas que la feuil1 soit activée
amicalement,
arthour973
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour @arthour973,

Un essai dans le fichier joint.Code dans module1 (une variable) et sinon code dans module de ThisWorkbook.

code dans ThisWorkbook :
VB:
Private Sub Workbook_Open()
  DeFeuil3 = ActiveSheet.Name = "Feuil3"
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  If Sh.Name = "Feuil1" Then If DeFeuil3 Then Feuil3.Activate
    DeFeuil3 = ActiveSheet.Name = "Feuil3"
End Sub

Code dans module1 :
VB:
Public DeFeuil3 As Boolean

Bnjour Mapomme,

Un grand merci de me répondre encore une fois :)

Je vais tester et je reviens
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour @arthour973,

Un essai dans le fichier joint.Code dans module1 (une variable) et sinon code dans module de ThisWorkbook.

code dans ThisWorkbook :
VB:
Private Sub Workbook_Open()
  DeFeuil3 = ActiveSheet.Name = "Feuil3"
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  If Sh.Name = "Feuil1" Then If DeFeuil3 Then Feuil3.Activate
    DeFeuil3 = ActiveSheet.Name = "Feuil3"
End Sub

Code dans module1 :
VB:
Public DeFeuil3 As Boolean
Re-Mapomme,

Evidemment ça marche mais j'ai pas compris le code.
Je vais tenter de comprendre.
Un grand merci à toi ;)
Amicalement,
arthour973
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour Lionel, CB60, Lone-wolf, mapomme,

Ceci n'a pas été encore proposé, le code de Feuil3 :
Code:
Private Sub Worksheet_Deactivate()
If ActiveSheet.Name = "Feuil1" Then Me.Activate
End Sub
A+

Re-Bonjour Job,

J'ai testé et ça marche :) voir fichier joint
Un grand Merci à toi.
 

Pièces jointes

  • ne pas selectionner Feuil1 si Feuil3 actif- Job75.xlsm
    16 KB · Affichages: 16

Discussions similaires

Réponses
2
Affichages
154

Statistiques des forums

Discussions
312 164
Messages
2 085 869
Membres
103 007
dernier inscrit
salma_hayek