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

Macros et VBA Excel Discussion :

Mettre en plein ecran-bloqué le ruban menu outils


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Points : 191
    Points
    191
    Par défaut Mettre en plein ecran-bloqué le ruban menu outils
    Bonjour à tous,

    Je suis en train de mettre en place un bouton afficher ruban ou pas.
    le problème est que Application.DisplayFullScreen = True ne bloque pas le plein écran.
    J'aimerais qu'il reste en plein ecran tant que la personne ne clique pas sur le bouton.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub ruban_Click()
    If Application.DisplayFullScreen = True Then
        'On demande le mot de passe de config
        passe_configuration_correcte = 0
        Passe.passe_config = ""
        Passe.Show
        If passe_configuration_correcte = 5 Then
            ' Afficher le ruban
                Application.DisplayFullScreen = False
            ' Afficher le quadrillage
                ActiveWindow.DisplayGridlines = True
     
        End If
    Else
        ' Mettre en plein ecran
            Application.DisplayFullScreen = True
        ' Masquer le quadrillage
            ActiveWindow.DisplayGridlines = False
    End If
    End Sub
    J'aimerai que si la personne fait echap ça reste en plein écran.
    Bref je veux bloquer l'accès a la modification et agrandir la fenetre par la même occasion.

    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Points : 877
    Points
    877
    Par défaut
    Bonjour

    je n'ai pas xl2007 mais il y a pas mal d'infos dans la FAQ ici

    en espérant que tu trouve ton bonheur.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 300
    Points : 107
    Points
    107
    Par défaut
    et avec quelque chose comme ca a adapter,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Option Explicit
    Private Declare Function FindWindowA Lib "User32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetWindowLongA Lib "User32" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLongA Lib "User32" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
     
    Private Sub CommandButton1_Click()
    Me.Height = 180
    Me.Width = 240
    End Sub
     
    Private Sub UserForm_Initialize()
      Dim hWnd As Long, exLong As Long, zFactor As Integer
     
      hWnd = FindWindowA(vbNullString, Me.Caption)
      exLong = GetWindowLongA(hWnd, -16)
      If exLong And &H880000 Then SetWindowLongA hWnd, -16, exLong And &HFF77FFFF
      zFactor = 100 * CInt(Application.Width / Me.Width)
      Me.Width = Application.Width
      Me.Height = Application.Height
     
    End Sub

  4. #4
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Points : 191
    Points
    191
    Par défaut
    Merci a tous les deux,

    Je cherche plutôt a désactiver le menu. C'est possible avec excel 2003 avec la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CommandBars.ActiveMenuBar.Enabled = False
    Mais ne fonctionne pas sous excel 2007.
    Je n'arrive pas a le faire fonctionner ainsi que les fonctions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Application.DisplayStatusBar = False
    Application.CommandBars("Full Screen").Enabled = False
    Les codes qui fontionnent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Application.DisplayFormulaBar = False
        Application.WindowState = xlMaximized
    Merci

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heuh!!!
    bonjour


    avec l'application excel 2007 les command bar sont bien distinc
    il n'y a pas de command bar general on parle putot de 'ribon'(ruban)

    cela dit pour bloquer tout tes commandbars
    tu boucle sur toute et tu les met a enables =false

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    sub bloque_mes_barres
     dim cb as commandbar
     
    For Each cb In CommandBars
     
            cb.enable=false   
    end sub
    enfin je n'est pas testé mais ca devrai etre ca

    en tout cas si ca marche pas ca doit etre une erreur de vocabulaire mais le principe est bon


    au plaisir.....

  6. #6
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Points : 191
    Points
    191
    Par défaut
    Merci d'avoir répondu.

    Le code que tu as mis, je l'ai déjà testé, il fonctionne parfaitement sur excel 2003. Sur Excel 2007, Excel te supprime le clic droit de la souris mais tu peux toujours avoir accès au ruban.

    Actuellement j'utilise une parade peu orthodoxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_Open()
    'On appel le module plein ecran
    Call Full_screen
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Sub Full_screen()
    Dim CmdB As CommandBar
    If correcte_full_screen = 5 Then
    ' Quitte le plein ecran
        Application.DisplayFullScreen = False
    ' Afficher le quadrillage
        ActiveWindow.DisplayGridlines = True
    'Rendre possible le clic droit
        For Each CmdB In Application.CommandBars
        CmdB.Enabled = True
        Next CmdB
     
    ElseIf correcte_full_screen = 0 Or Application.DisplayFullScreen = False Then
    ' Mettre en plein ecran
        Application.DisplayFullScreen = True
    ' Masquer le quadrillage
        ActiveWindow.DisplayGridlines = False
    'Rendre impossible le clic droit
        For Each CmdB In Application.CommandBars
        CmdB.Enabled = False
        Next CmdB
    End If
        Application.OnTime DateAdd("s", 10, Now), "Full_screen"
    End Sub
    Le problème de ce code est qu'il s'auto-appelle toutes les 10 secondes, ce qui provoque un scintillement d'écran et un petit ralentissement. Il gère le mode plein écran toutes les 10s.

    La protection est arbitraire, le temps de trouver une meilleure solution.

    Pour cacher le ruban, on peut utiliser Custom UI Editor. A condition de convertir son fichier en '.xlsm', fonctionne sur un nouveau classeur, mais provoque une erreur sur le fichier que j'utilise. Deplus, j'aimerai resté si possible en version Excel '.xls'.
    L'autre problème de cette méthode, on ne peux plus afficher le ruban. Alors que je veux simplement mettre un barrage au niveau utilisateur.

    J'ai fais des recherches avec le mot clé ribon, mais j'ai l'impression qu'il n'est pas possible de cacher le ruban avec le vba. Il n'y a même pas d'option dans excel me permettant de le cacher.

    Si vous avez des idées, je suis toujours preneur!

    Encore merci pour toutes vos recherches.

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour

    je me souviens avoir vu un tuto sur la modification du ruban et non pas commandbar

    il traitais les image animé mais c'etait pour acces donc on peut manipuler le ruban par vba


    mais peut etre que l'on peu adapter pour exel

    ensuite je ne comprend plus bien ce que tu cherche vraiment

    application.displayfullscreen ca te cache le ruban et te met l'application en plein ecran

    le display grid line =false te cache la grille

    si tu veut eliminer la possibilite de revenir au contraire tu n'a cas utiliser l'api user32 et travailler sur la caption (suprimer tout les boutons )

    parcontre quelque part dans ta feuilles il te faudra metre un bouton pour fermer l'application

    enfin si j'ai bien compris ce que tu cherche?

    je vais essayer un truc et je te le soumet


    au plaisir....

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    rebonjour

    regarde un peu de ce coté http://www.developpez.net/forums/d67...ntes-retablir/


    ne serait_ce pas ce que tu cherche???

    bonjour j'ai essayé avec un autre moyen

    comme je te l'ai dis precedament peut etre que en utilisant l'api user32 tu pourrais trouver ta solution

    et bien apres essaie ca fonctionne

    le principe :
    tu suprime la caption de l'application
    tu met l'application a displayfullscreen=true

    etant donné que tu n'a plus de caption tu ne peut pas revenir en arriere donc le ruban est absent tout du moins sur le fichier en question
    et il me reste a metre litem "fermer le plein ecran" dans le menu contextuel a enable =false pour cela il me faut le "ID" du control je ne mle trouve pas

    et je rajoute un item a moi nommé "remetre le ruban " ca c'est fait


    des que j'ai trouvé je t'envoie un exemple du fichier

    au plaisir

  9. #9
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Points : 191
    Points
    191
    Par défaut
    Encore Merci pour ton aide.

    J'ai testé le code de ouskel'n'or (le lien que tu m'as mis), ce code fonctionne bien mais ne cache pas le ruban de excel 2007. Sous excel 2003, sa te cache tous.

    J'ai l'impression que ce n'est pas possible de masqué le ruban.
    Le problème du plein écran est que si l'utilisateur appuie sur la touche echap, le mode plein écran ne reste pas. De même si l'utilisateur réduit le document Excel.

    C'est pour cela que j'ai mis une tempo de 10s pour que si il réduit l'écran, il revient automatiquement en plein écran toutes les 10s.

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour

    tout dabors il faut identifier quelle action te mette le ruban

    1)la touche "esc"
    2)le bouton reduire de la caption
    3)le double clic sur la caption

    alors voila je te propose 2 solution

    la premiere consiste a boucler perpetuelement avec un e condition "si fullscrenen =false then full screen =true
    avec deux bouton supplementairedans le menu contextuel des cellules
    dont un arrette la boucle et un la redemare


    la deuxieme qui pour moi est plus propre
    consiste a :

    1)suprimer la caption donc plud de bbouton reduire ni de doubleclic
    2condanation de la touche "esc"
    et encore une fois des ajout de bouton dans le menu contextuels des cellules
    pour pouvoir remetre ous pas le ruban
    aussi pour le fun j'y ai rajouté 2 boutons "enregistrer et enregistrer sous pour pouvoir quitter meme sans la caption

    quand tu clique sur remettre le ruban l'application va te demander un code moi j'ai mis "toto "en minuscule je sais pas tres recherché mais bon tu pourra toujour le changer dans la macro

    voila je telivre les deux exemple en esperant que ca te convienne
    si non donne moi plus d'information

    donne des nouvelles pendant que j'ai du temps de libre
    au plaisir

  11. #11
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Points : 191
    Points
    191
    Par défaut
    Super Boulot

    J'aime bien la solution 1, car si la personne réduit en cliquant sur le fichier en cours sur la barre des taches de Windows, lorsqu'il la remet il n'a pas le ruban.
    grâce a la boucle.
    Lorsque j'appuie sur echap, je n'ai pas de boite de dialogue.
    Tu as codé sur excel 2007?
    Je n'ai pas non plus les boutons supplémentaires.
    Par contre sur la solution 2, je n'ai plus acces au reduction fenetre et fermeture fenêtre.

    Le problème de la solution 1 peut elle continuer sa boucle lorsque j'exécute une autre macro?

    Dans mon fichier lorsque la personne clic sur la croix, le fichier s'enregistre et quitte sans demander l'enregistrement.

    EDIT: je viens de faire un test de la solution 1 dans mon fichier.
    Les boutons de macros saute, bref ça ne va pas.
    Y aurait il une solution a la solution 2 de mettre en plein écran lorsque je reviens sur le fichier?


    Merci de m'avoir aidé.

    Salutations

  12. #12
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour

    si quand tu dis revenir sur le fichier tu parle de le remetre en premier plan certainement apres avoir mis un autre fenetre en premier plan

    tu n'a cas metre par exemple

    une macro suplementaire

    exemple sur le sheets activate

    et dans ce module tu reffet appel a ma macro qui supprime le ruban

    et voila le tour est joué enfin je crois je vais faire les modification pour voir

    je te recontacte


    au plaisir

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour

    et oui j'utilise office 2007 professional plus


    mais je code en xls pour compatibilité avec le plus gransd nombre

    efectivement quand tu reduit le ruban reapparait c'est le probleme recurent


    je bosse je bosse

    et je trouverais


    au plaisir

Discussions similaires

  1. Application pour gsm (mettre en plein ecran)
    Par dib258 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 29/09/2009, 14h19
  2. un flv dans un flash a mettre en plein ecran
    Par AnjouWeb dans le forum Intégration
    Réponses: 1
    Dernier message: 15/10/2008, 14h36
  3. Mettre le navigateur IE en plein ecran
    Par toxycyty dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 09/07/2008, 10h15
  4. Mettre une Form en pleine ecran
    Par deous dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/05/2007, 09h15
  5. Réponses: 4
    Dernier message: 28/05/2006, 17h34

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