IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Désactiver plein Ecran


Sujet :

Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 355
    Points : 119
    Points
    119
    Par défaut Désactiver plein Ecran
    Bonjour à tous,
    Depuis une base Access, j'ouvre un classeur Excel en plein Ecran sans Ruban Mais lorsque je referme le classeur et que j'ouvre de nouveau Excel par le raccourci sur le bureau, il garde le plein Ecran il faut cliquer fois sur le haut pour l'ouvrir normalement
    Auriez-vous un début de solution voici ci-dessous le code que j'utilise dans le workbook de mon classeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_WindowActivate(ByVal Wn As Window)
    ' active ce classeur, met en plein écran
    Application.DisplayFullScreen = True
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
    ' change de classeur, annule plein écran
    Application.DisplayFullScreen = True
    End Sub
    Merci de vos conseils

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Peut-être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.WindowState = xlNormal
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    Euh... de base, tu utilises une propriété de l'objet Application Excel pour masquer ce que tu veux, cette propriété est à première vue un Boolean, donc le premier réflexe serait de la remettre à False

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayFullScreen = false
    via évènementiel beforeclose du thisworkbook ou autre selon contexte.

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  4. #4
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 355
    Points : 119
    Points
    119
    Par défaut
    Non ça ne fonctionne pas Excel s'ouvre toujours en plein Ecran. Ca me fait penser à un cache qui ne se vide pas et qui garde la mémoire de l'ouverture précédente. J'ai aussi un autre problème lorsque je clic sur la croix pour quitter mon classeur il ferme le classeur mais reste sur une page grise sans rien il faut de nouveau cliquer sur la croix pour quitter définitivement excel. J'avoue je ne suis pas un développeur chevronné mais là je déclare ne rien comprendre au problème.
    Merci de vos conseils

    Le code lorsque je ferme pour éviter la boîte de dialogue souhaitez vous enregistrer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    DisplayAlerts = False
    ActiveWorkbook.Save
    ActiveWorkbook.Close
    End Sub
    Merci de vos conseils

  5. #5
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, et en plaçant Application.DisplayFullScreen = False dans Workbook_Open ?

  6. #6
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 355
    Points : 119
    Points
    119
    Par défaut
    Merci de vos réponses mais rien ne fonctionne, Excel ferme mon classeur, mais pas Excel. j'ai la page grise et je dois cliquer à nouveau sur la croix pour quitter Excel. Lorsque je relance Excel il s'ouvre en plein Ecran rien à faire.

  7. #7
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    Dans ton post initial, tu n'en dis pas assez si tu pilotes Excel à partir d'Access, tu doit gérer une instance d'excel avec ton VBA.

    Le mieux serait de procéder par méthode empirique, tout le monde n'ayant pas Access, par contre, s'ils ont Excel, ils ont généralement Word.
    tu peux essayer de recréer la même situation en faisant la manip à partir de Word, juste l'ouverture et la fermeture d'Excel afin de tenter de recréer le problème. Du coup tu peux alors poster l'intégralité de ce code avec les détails (quand tu ouvres par double click après, c'est un classeur ou un raccourci de l'appli). Et là les contributeurs auront des billes pour bosser.
    De plus ce genre de manip risque de poser problème si ça passe sous 2013 à un moment vu qu'on passe alors de MDI en SDI, bref il nous faut des billes pour travailler

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  8. #8
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 355
    Points : 119
    Points
    119
    Par défaut
    Bonjour et merci de vos réponses,
    Donc depuis Word, j'ai créer un bouton de commande pour ouvrir mon classeur Excel :
    Code du bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton2_Click()
    Dim appXl As Excel.Application
    Dim Wb As Excel.Workbook
     
    Set appXl = CreateObject("Excel.Application")
    appXl.Visible = True
    Set Wb = appXl.Workbooks.Open("mon classeur")
    '.....
    End Sub
    Ensuite dans Workbook j'ai collé ces codes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    DisplayAlerts = False
    If ActiveWorkbook.Name <> ThisWorkbook.Name Then
        ActiveWorkbook.Saved = True
        ActiveWorkbook.Close
    End If
    'désactive le plein écran
    Application.DisplayFullScreen = False
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_WindowActivate(ByVal Wn As Window)
    ' active ce classeur, met en plein écran
    Application.DisplayFullScreen = True
    End Sub
    Cette manip fonctionne, il m'ouvre mon classeur en plein Ecran et lorsque je quitte c'est bien tout Excel qui se ferme. Lors d'une nouvelle ouverture le plein Ecran n'est plus actif.
    Je pense ne pas avoir fait d'erreur mais bon merci de vérifier cela pourra servir à d'autres.
    Encore merci de vos précieux conseils

  9. #9
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,
    Oui, ça fonctionne, mais le code est bizarroïde
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    10    DisplayAlerts = False
    20    If ActiveWorkbook.Name <> ThisWorkbook.Name Then
    30        ActiveWorkbook.Saved = True
    40        ActiveWorkbook.Close
    50    End If
          'désactive le plein écran
    60    Application.DisplayFullScreen = False
    End Sub
    L’événementiel BeforeClose placé dans un classeur ne peut concerner, de base, que celui-ci donc tes lignes de code 20 à 50 qui testent le nom du classeur n’ont aucune utilité car cela ne peut se produire….

    La ligne 10 ne peut pas ne pas planter normalement, DisplayAlerts étant une propriété de l’objet Application, tu es obligé de l’invoquer de façon explicite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayAlerts = False
    Je ne comprends pas non plus l’utilité de cette ligne sinon, vu que tu passes la propriété Saved de ton classeur à True, normalement il ne doit pas y avoir de message d’alerte à la fermeture…

    Au niveau code pur, tu peux concaténer les lignes 30 & 40 en écrivant direct :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Close Savechanges:=False
    Ton code devrait donc se résumer à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
      Application.DisplayFullScreen = True
    End Sub
    Toujours question de logique, si tu utilises l’évènementiel Workbook_WindowActivate ainsi que le code déjà évoqué, c’est que tu considères que d’autres classeurs peuvent être ouverts en simultané, il serait donc logique de prévoir l’évènementiel contraire ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
     Application.DisplayFullScreen = False
    End Sub
    Vu qu’on peut activer, sans ruban, un autre classeur ouvert via la barre de tâches ou en VBA etc… On a un effet bascule correct du coup.
    Le code du BeforClose devient, de fait, inutile.

    Les choses seraient différentes si on utilisait les évènementiels au niveau Application via un module de classe, mais tu n’en parles pas.

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/09/2013, 16h34
  2. Afficher une texture plein ecran en 2D
    Par venomelektro dans le forum OpenGL
    Réponses: 8
    Dernier message: 07/10/2004, 12h30
  3. [Debutant] Pb de plein ecran..... Merci encore
    Par yup dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 21/08/2004, 11h11
  4. [FLASH MX 2004] bouton plein ecran MediaPlayBack
    Par dens63 dans le forum Flash
    Réponses: 8
    Dernier message: 12/05/2004, 14h22
  5. [DX 9][C++]Plein ecran + carte graphique
    Par delire8 dans le forum DirectX
    Réponses: 2
    Dernier message: 09/05/2003, 20h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo