Affichage simplifié
RésoluLandry85 Messages postés 96 Statut Membre -
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
- Application.displayfullscreen
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Mode simplifié android - Accueil - Android
- Affichage ips processeur graphique ✓ - Forum Matériel & Système
- Problème affichage fenêtre windows 10 - Guide
8 réponses
Landry cherche à rendre Excel plus lisible pour ses collègues en cachant les feuilles sources et la barre des tâches, en désactivant l'enregistrement à la fermeture, tout en conservant pour lui un accès de modification.
Plusieurs réponses techniques proposent des scripts ou codes pour masquer l'interface et créer des éléments de contrôle (bouton de fermeture, mode plein écran) afin de restreindre l'accès aux feuilles.
Des ressources et fichiers de test sont partagés pour permettre d'essayer les configurations suggérées, avec des références à des messages d'erreur et à des détails de versions Excel.
L'échange met aussi en évidence des positions divergentes et des réactions parfois vives, avec des participants annonçant des abandons et une réorientation de la discussion.
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
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à
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...
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJe 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!!!!!!!!!!
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
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
@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
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
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
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.
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.