Affichage simplifié

Résolu/Fermé
Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017 - 2 sept. 2017 à 18:17
Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017 - 6 sept. 2017 à 23:23
Bonjour,

j'ai "développé", pour me faciliter le travail une sorte de "moteur de recherche", la page de recherche est situé en Feuil1 et les base de données sur une multitude de feuilles. Je vais bien sur en faire profiter mes collègues, donc j'aimerai en simplifier l'affichage.

Plusieurs critères :

- Ne pas avoir de "barre des tâches" excel
- Ne pas avoir l'affichage des différentes feuilles (pas d’accès pour mes collègues aux
Feuilles bases de données).
- Ne plus pouvoir sauvegarder en sortant.

-Mais conserver pour moi un accès pour modifier si besoin.

Je ne sais pas si c'est très clair, mais j'ai du mal à formuler et surtout je ne sais pas si c'est faisable et comment.

Merci pour votre aide.

Landry

PS : mon idées en image (sans le bouton sauvegarde).

https://img-19.ccm2.net/8dU5ym4YTMpbAeMBQLWnpVPk0qs=/54f00ba59a4a433d80b614f19cd3594d/ccm-ugc/Image2.jpg

8 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
Modifié le 2 sept. 2017 à 18:45
Bonjour,

Voici un exemple, faire Alt F11 pour voir les codes dans le module et ThisWorkbook:

http://www.cjoint.com/c/GIcqHBIRC7Q

Pour Ne plus pouvoir sauvegarder en sortant.


https://www.excel-pratique.com/fr/astuces_vba/empecher_enregistrement_fichier.php


@+ Le Pivert
0
Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017 2
3 sept. 2017 à 02:03
C'est parfait ! J'y ai même ajouté un petit mot de passe pour déclencher la macro qui rétabli l'affichage classique, extra!

Pour pousser le vice, sur mon écran à la maison (23") il m'affiche la plage A1:U46
Est ce qu'il y a possibilité de lui demander d'ajuster la fenêtre à la plage A1:O31, ou d'ajuster la plage au plein écran (mais dans ce deuxieme cas j'ai peur qu'il modifie la mise en page) ? Tout en sachant qu'à mon travaille, les écrans sont plus petits.
0
Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017 2
3 sept. 2017 à 09:59
Ah!!! Ce matin, je me suis dis "n'y a t'il vraiment pas moyen de sortir du plein écran sans le mot de passe... si : tout simplement par la touche échappe deux fois. Est ce qu'on peut bloquer ça?
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
3 sept. 2017 à 11:07
Si il n'y avait que la touche echap!
il y a aussi le clic droit pour supprimer le plein écran!

Voici donc le code pour bloquer tout cela:

Option Explicit
'Plein écran
Private Sub CommandButton1_Click()
Application.OnKey "{ESCAPE}", "" 'touche echap
  Application.DisplayFullScreen = True 'plein écran
    ActiveWindow.DisplayWorkbookTabs = False 'onglets masqués
    CacheBOutils ' clic droit
End Sub
'rétabli
Private Sub CommandButton2_Click()
Application.OnKey "{ESCAPE}"
Application.DisplayFullScreen = False
   ActiveWindow.DisplayWorkbookTabs = True
   AfficheOutils
End Sub
Sub CacheBOutils()
Dim CmdB As CommandBar
  For Each CmdB In Application.CommandBars
    CmdB.Enabled = False
  Next CmdB
End Sub
Sub AfficheOutils()
Dim CmdB As CommandBar
  For Each CmdB In Application.CommandBars
    CmdB.Enabled = True
  Next CmdB
End Sub




Pour ajuster la plage au plein écran

je ne vois que le zoom:

 ActiveWindow.Zoom = 200'a adapter
    ActiveWindow.Zoom = 100' rétabli


Voilà
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 240
3 sept. 2017 à 13:54
Bonjour,

perso on me passe un fichier comme ça c'est direct poubelle ;-)
L'utilisateur est assez grand pour savoir ce qu'il veut voir à l'écran.
Là c'est infantiliser, pas du tout agréable je trouve.
Ca n'engage que moi... :-)
eric
0
Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017 2
3 sept. 2017 à 19:08
Merci cs_Le Pivert,

Pour le blocage, je ne comprends pas trop le code, est il à mettre dans thisWorbook? y a t'il des commandbuttons à créer?

Pour le zoom, je ne vois pas comment l'utiliser non plus, mais je vais fouiner.



@eriiic : Mon but est d'avoir une interface très simplifié (minimum de pollution visuelle).
Pour l'utilisation de cet outil, il n'y a pas besoin des fonctionnalités excel, et j'ai
voulu élaboré ce petit projet pour nous faciliter la vie quotidienne au travail, pas
pour faire de la maintenance suite à des manipulations malheureuses.
Mais merci pour ton avis...
0
willy > Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017
3 sept. 2017 à 19:37
 
Bonjour Landry85,

Je te propose cette adaptation du code VBA de cs_Le Pivert :


Option Explicit

' plein écran
Private Sub CommandButton1_Click()
  Application.OnKey "{ESCAPE}", "" ' touche Echap inactive
  Application.DisplayFullScreen = True ' affichage plein écran
  ActiveWindow.DisplayWorkbookTabs = False ' onglets masqués
  CacheBOutils ' masque les barres d'outils
  ActiveWindow.Zoom = 200 ' zoom 200 %
End Sub

' rétabli
Private Sub CommandButton2_Click()
  Application.OnKey "{ESCAPE}" ' touche Echap active
  Application.DisplayFullScreen = False ' non plein écran
  ActiveWindow.DisplayWorkbookTabs = True ' onglets affichés
  AfficheBOutils ' affiche les barres d'outils
  ActiveWindow.Zoom = 100 ' zoom 100 %
End Sub

Sub CacheBOutils()
  Dim CmdB As CommandBar
  For Each CmdB In Application.CommandBars
    CmdB.Enabled = False
  Next CmdB
End Sub

Sub AfficheBOutils()
  Dim CmdB As CommandBar
  For Each CmdB In Application.CommandBars
    CmdB.Enabled = True
  Next CmdB
End Sub


Tes 2 boutons seront par exemple sur Feuil1 => place ce code VBA
dans le code de Feuil1 (pas dans un module, ni ThisWorkbook).

Sur Feuil1, crée 2 boutons de commande puis affecte-leur la macro
correspondante comme suit :

affecte au 1er     bouton la macro : CommandButton1_Click()
affecte au 2ème bouton la macro : CommandButton2_Click().

Cordialement
 
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729 > Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017
3 sept. 2017 à 19:57
Je croyais que tu aurais compris avec le classeur que je t'ai mis à télécharger où placer les macros!!!
0
Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017 2 > cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024
3 sept. 2017 à 22:26
Je n'avais pas de nouveau fichier dans ta réponse :-(
Mais ce qui m'a fait douter, ce sont les commandbuttons.

Donc j'ai bien utilisé cette nouvelle méthode, mais pour le coup il faut que je clique sur le bouton pour mettre le plein ecran.
Je suis en tentative de déclenchement du bouton automatiquement à l'ouverture du classeur... et pour le moment c'est pas fructueux
0
Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017 2
Modifié le 3 sept. 2017 à 23:28
*
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
4 sept. 2017 à 09:43
Il ne s'agit pas de faire des copier coller sans comprendre.
Je te le fais en français:

Si mot de passe correct Alors
on met la totalité du code rétablir
Sinon
on ne met rien ou un message le cas échéant
Fin si

Voilà c'est pourtant simple!!!!!!!!!!
0
Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017 2
5 sept. 2017 à 11:46
Bonjour Cs_ Le Pivert,

Tu n'as surement pas lu la suite de ce post, donc je me permet de contacter via cette réponse car je cherche à supprimer ou griser les touches "réduire" et "niveau inf" (et la croix si y'a pas le choix). J'ai trouvé un code que tu as fourni sur un autre post mais il ne fonctionne pas chez moi, j'obtiens un message d'erreur que tu pourras, si tu le veux bien, voir en capture d'ecran.

https://forums.commentcamarche.net/forum/affich-34839864-affichage-simplifie#23

Si tu as la solution, Merci beaucoup
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729 > Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017
5 sept. 2017 à 12:56
Oui j'ai la solution, mais quand une tiers personne met la pagaille, cela ne m'incite pas à répondre!

a mettre dans un module:

Option Explicit
Private Const MF_BYPOSITION As Long = &H400
Private Const mlNUM_SYS_MENU_ITEMS As Long = 9
Private Declare Function GetSystemMenu Lib "User32" _
  (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "User32" _
  (ByVal hMenu As Long, ByVal nPosition As Long, _
  ByVal wFlags As Long) As Long
Private Declare Function FindWindowA Lib "User32" _
  (ByVal lpClassName As String, ByVal lpWindowName _
  As String) As Long
'Vasant Nanavati, Andrew Baker (mpep), fs
Public Sub DisableSystemMenu()
Dim lHandle As Long, lCount As Long
    
  On Error Resume Next
  lHandle = FindWindowA(vbNullString, Application.Caption)
  If lHandle <> 0 Then

      'désactive la croix de fermeture d'Excel
      'et la commande Fermeture du menu système
     ' DeleteMenu GetSystemMenu(lHandle, False), 6, &H400
      'supprime le trait de séparation du menu système avant Fermeture
    '  DeleteMenu GetSystemMenu(lHandle, False), 5, &H400
      'supprime la commande Agrandissement du menu système
      'et la commande Agrandir de la fenêtre
      DeleteMenu GetSystemMenu(lHandle, False), 4, &H400
      'supprime la commande Réduction du menu système
      'et désactive la commande Réduire de la fenêtre
      DeleteMenu GetSystemMenu(lHandle, False), 3, &H400
      'désactive la commande Déplacement du menu système
    '  DeleteMenu GetSystemMenu(lHandle, False), 2, &H400
      'supprime la commande Déplacement du menu système
      'et désactive la commande Dimension
      DeleteMenu GetSystemMenu(lHandle, False), 1, &H400
      'supprime la commande Restauration du menu système
      'et désactive la commande Restaurer de la fenêtre
      DeleteMenu GetSystemMenu(lHandle, False), 0, &H400
        
  End If
End Sub
'rétablit le menu sytème et les commandes de fenêtre (Réduire, Agrandir, Fermer)
Public Sub EnableSystemMenu()
    Dim lHandle As Long
    On Error Resume Next
    lHandle = FindWindowA(vbNullString, Application.Caption)
    GetSystemMenu lHandle, True
End Sub


pour appeler:

'bloqué
DisableSystemMenu
'débloqué
EnableSystemMenu


voilà
bonne continuation
0
willy > cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024
Modifié le 5 sept. 2017 à 14:00
 
@cs_Le Pivert

quand une tiers personne met la pagaille
Tu ferais mieux de surveiller ton orthographe au lieu d'accuser les autres
de mettre la pagaille simplement parce qu'ils proposent des solutions !
C'est « tierce personne », pas « tiers personne ».

Tu n'as pas à m'en vouloir d'avoir repris ton code puisque j'ai bien signalé
que c'était le tien ! et j'espère que tu t'es rendu compte que j'ai pris bien
soin de séparer les subs, ce que tu n'avais pas fait, et eriiic a même écrit :
perso on me passe un fichier comme ça c'est direct poubelle ;-)

https://forums.commentcamarche.net/forum/affich-34839864-affichage-simplifie#5

De plus le demandeur Landry a confirmé que mon code lui a été utile :
Finalement tout fonctionne avec ce dernier code (j'ai adapté les trues et les falses).

https://forums.commentcamarche.net/forum/affich-34839864-affichage-simplifie#21
 
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729 > willy
5 sept. 2017 à 14:16
Tu as oublié une ligne dans la citation de eriiic, il parlait de la demande de Landry85 et non de mon code!

perso on me passe un fichier comme ça c'est direct poubelle ;-)
L'utilisateur est assez grand pour savoir ce qu'il veut voir à l'écran.


Je vais arrêter de polémiquer dans une discussion stérile.

J'abandonne ce post
0
Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017 2 > cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024
5 sept. 2017 à 14:18
J'y arrive pas... :-(

Ci-joint un fichier test :

https://mon-partage.fr/f/i2s2V93B/
0
Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017 2
4 sept. 2017 à 23:35
Bonsoir à tous les deux :-)

Merci beaucoup pour l'engouement porté à ce projet, faut pas se mettre dans des états comme ça :-) KeepCalm = True :-D

Finalement tout fonctionne avec ce dernier code (j'ai adapté les trues et les falses). J'ai vérifié, effectivement il n'est pas nécessaire de désigner le "Sinon" comme l'a précisé Cs_Le Pivert.
@Willy : c'est vrai en analysant un peu, c'était très bête ce que j'avais écrit : If mot de passe ok...blabla et la même chose après le end if (complètement con :-D )

Bon sans se gronder :-), est ce qu'il y a une ligne ou deux à rajouter pour supprimer le bouton "réduire" et "niveau inf." en haut à droite de la fenêtre? (ce doit être la dernière façon de sortir du pleine écran sans mot de passe)
J'ai bien trouvé un code (assez long) que je vais tester de suite mais peut être qu'une ligne suffit...

Merci encore et bonne soirée/journée
0
 
Finalement tout fonctionne avec ce dernier code (j'ai adapté les trues et les falses).

Merci de me rendre justice ! contrairement à ce que pensait cs_Le Pivert
je savais bien que mon code VBA te serait utile !  :)

Pour ce que tu as demandé ensuite, c'est tellement spécial que je laisse
le soin à cs_Le Pivert de te répondre.  ;)

Bonne soirée/journée à toi aussi.
 
0
Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017 2
5 sept. 2017 à 11:41
0
Landry85 Messages postés 94 Date d'inscription mardi 5 novembre 2013 Statut Membre Dernière intervention 16 octobre 2017 2
6 sept. 2017 à 00:06
0