Mettre en pleine écran un seul classeur

M@rion

XLDnaute Nouveau
Bonjour,

Voici le problème sur lequel je bloque depuis plusieurs jours :

J'ai créé une appli excel qui fait aller et venir l'utilisateur entre deux classeurs. Le classeur où se trouve l'interface utilisateur doit être en permanence en pleine écran et celui ou se trouve les résultats ne doit pas l'être. Je cherche donc à pouvoir switcher le mode pleine écran en fonction du classeur actif.
J'ai déjà exploré plusieurs pistes :
-Fermer l'IU et la rouvrir une fois que le classeur résultat est fermé ( pas bon )
-Essayer de mettre le classeur résultat en mode normal quand il devient actif et le classeur IU en pleine écran qui il redevient actif ( Pas bon car si l'utilisateur utilise "reduire", "niveau inf" ou "fermer", il a accès au bandeau de l'IU)
-Ecrire une macro à l'aide d'une macro dans le classeur résultat pour le mettre en mode normal a l'ouverture ( pas bon )
-Restrindre le pleine écran à un seul workbook ( pas trouver de code pour)

Je suis vraiment a cours d'idées.

Voici mon code :

Code:
Private Sub CommandButton2_Click()

If IsNull(TextBox1.Value) Or TextBox1.Value = "" Then
MsgBox "Le champ est vide"
Exit Sub
End If
MonX = TextBox1.Value
With Sheets("Table Séquences")
.Select
Rows("5:5").Select
Selection.AutoFilter
ActiveSheet.Range("A5:F" & Range("F1048576").End(xlUp).Row).AutoFilter Field:=5, Criteria1:=MonX
End With
Sheets("Table Séquences").Move
    Cells.Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.DisplayAlerts = False
    [G:G].ClearContents
    [1:4].Delete
    MaVariable = Year(Now()) & Month(Now()) & Day(Now()) & Hour(Now()) & Minute(Now()) & Second(Now()) 'numéro chrono pour distinguer les noms de fichier
    ActiveWorkbook.SaveAs "Ma_Selection_de_Séquences_numéro_d'ordre_" & MaVariable
    MyWB = ActiveWorkbook.Name
    Application.DisplayAlerts = True
    ActiveSheet.Name = "Restitution"
    Columns("F:F").NumberFormat = "m/d/yyyy"
    Application.CutCopyMode = False
    Application.DisplayAlerts = False
    Sheets("Table Séquences").Delete
    Application.DisplayAlerts = True
    
    If Range("A2").Value = "" Then
        MsgBox "Aucune séquence n'a jusqu'ici été crée avec ce numéro de X comme mot de passe réseau"
        Application.DisplayAlerts = False
        ActiveWorkbook.Close
        Application.DisplayAlerts = True
        Unload Me
        Sheets("template").Select
        ActiveSheet.Unprotect
        ActiveSheet.Shapes.Range("Plaque 3").Select 'réaffectation des macros aux bons boutons.
        Selection.OnAction = "Bouton3_QuandClic"
        ActiveSheet.Shapes.Range("Plaque 4").Select 'réaffectation des macros aux bons boutons.
        Selection.OnAction = "Bouton4_QuandClic"
        ActiveSheet.Shapes.Range("Plaque 5").Select 'réaffectation des macros aux bons boutons.
        Selection.OnAction = "Bouton5_QuandClic"
        Range("A2").Select 'pour éviter que le bouton 5 reste selectionné
        ActiveSheet.Protect
        Exit Sub
    Else: MsgBox "Dans cette feuille vous trouverez le résultat de votre sélection"
    End If

    Application.DisplayAlerts = False
        Workbooks("Name.xlsm").Activate
        Sheets("template").Select
        ActiveSheet.Unprotect
        ActiveSheet.Shapes.Range("Plaque 3").Select 'réaffectation des macros aux bons boutons.
        Selection.OnAction = "Bouton3_QuandClic"
        ActiveSheet.Shapes.Range("Plaque 4").Select 'réaffectation des macros aux bons boutons.
        Selection.OnAction = "Bouton4_QuandClic"
        ActiveSheet.Shapes.Range("Plaque 5").Select 'réaffectation des macros aux bons boutons.
        Selection.OnAction = "Bouton5_QuandClic"
        Range("A2").Select 'pour éviter que le bouton 5 reste selectionné
        ActiveSheet.Protect
        Workbooks(MyWB).Activate
        Unload Me
    Application.DisplayAlerts = True
End Sub

Toute aide sera la bienvenue.

Cordialement,
M@rion
 
Dernière édition:

MichD

XLDnaute Impliqué
Re : Mettre en pleine écran un seul classeur

Bonjour,

Dans le fichier que tu veux toujours en mode plein écran,

Copie ceci dans le Thisworkbook du projetVBA de ce classeur.

Un fichier exemple est joint.


VB:
'Déclaration dans le haut du Thisworkbook
Public WithEvents Xl As Application
'--------------------------------------------------
Private Sub Workbook_Open()
Application.DisplayFullScreen = True
Set Xl = Application
End Sub
'--------------------------------------------------
Private Sub Xl_WindowActivate(ByVal Wb As Workbook, ByVal Wn As Window)
If Wb.Name = ThisWorkbook.Name Then
    Application.DisplayFullScreen = True
Else
    Application.DisplayFullScreen = False
End If
End Sub
 

Pièces jointes

  • Exemple Fichier plein écran.xlsm
    11.7 KB · Affichages: 37
Dernière édition:

Discussions similaires

Réponses
0
Affichages
662