Blocage de navigation et Masquage des Feuilles

Bonsoir,

Tout dabords merci beaucoup de vos précieux conseils !! Vous avez réussi a me faire adorer Excel en même pas 24h !!

J'ai un fichier Excel qui calcule automatiquement les moyennes de différents modules. J'ai 1 Module par pages (8 modules en tout) . Il y a une page de récap des moyennes et une page d'accueil.

Voici mes deux problèmes :

Le premier :

Je souhaite que l'utilisateur n'ai accès aux autres pages que via la page Accueil (en cliquant sur des boutons liés aux autres pages). Sauf que lorsque je masque les pages en ne gardant visible que la page Accueil les liens ne marchent plus.

Le deuxième :

Je souhaite bloquer la navigation dans les pages, je ne souhaite pas que les utilisateurs puissent se déplacer de droite a gauche ni de haut en bas.

Comment faire ? J'ai essayé de plusieurs manières mais n'y arrive pas...

Merci d'avance pour votre aide !

EDIT : Désolé, mon post a eu un beug, le texte n'apparaissait pas...

11calcul-macro.zip (329.94 Ko)

Bonjour

Ci joint ma solution

13titipro.zip (338.26 Ko)

A+ François

ps: fichier changé à 8h35

Merci de ton aide fanfan38,
J'ai remodifié 2/3 petites choses mais avec ton fichier je n'arrive plus a modifier du tout le document a part la page accueil. Or j'ai des formules a modifier etc. Est-il possible de mettre une "permission" pour moi pour que je puisse modifier l'entièreté du document et une "permission" pour que les autres personne ne puisse modifier que les colonnes "Notes" qui sont en orange ?
Et j'ai des messages d'erreur qui s'affichent a l'ouverture du fichier

11titipro.zip (365.19 Ko)

En appuyant sur Ctrl+Shift+W tu peux faire ce que tu veux

A refaire si fermeture du fichier

Donc quand tu as fini pense bien à fermer le fichier

Les autres ont accès à la colonne 3 ("C")... de toutes les feuilles...

13titipro-v1.zip (365.18 Ko)

Par contre je ne comprends pas les messages d'erreur au lancement

A+ François

Bonjour,

Je me permet de faire une variante avec ce qu'a déja fait Fanfan38,

Dans ThsWorkbook, reconnaitre l'ordinateur qui ouvre le fichier pour te donner les permissions (voir dans fichier, option, générales puis Nom utilisateur)
Si l'utilisateur n'est pas "TITIPRO10" alors on masque les onglets, on bloque les zones de selection, barre des onglets et les ascenseurs.

Private Sub Workbook_Open()
  Dim i As Integer

If UCase(Application.UserName) = "TITIPRO10" Then GoTo Permission
'si le nom d'utilisateur dans les options généréles = TITIPRO10, on saute l'étape de tout masquer
  For i = 1 To Sheets.Count
    If Sheets(i).Name <> "Accueil" Then Sheets(i).Visible = False
    Sheets(i).ScrollArea = "A1:K17"   'Empeche d'aller au dela de cette zone
  Next
  Application.DisplayFormulaBar = False
  ActiveWindow.DisplayHeadings = False
  ActiveWindow.DisplayGridlines = False

  ActiveWindow.DisplayWorkbookTabs = False          'masque la barre des onglets
  ActiveWindow.DisplayHorizontalScrollBar = False   'masque l'ascenseur H
  ActiveWindow.DisplayVerticalScrollBar = False     'masque l'ascenseur V

Permission:

End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.DisplayFormulaBar = True
    ActiveWindow.DisplayHeadings = True
    ActiveWindow.DisplayGridlines = True

    ActiveWindow.DisplayWorkbookTabs = True
    ActiveWindow.DisplayHorizontalScrollBar = True
    ActiveWindow.DisplayVerticalScrollBar = True
End Sub

A+

Edit : Désolé, je n'avais pas vu le deuxième message de fanfan.

Fanfan

C'est nickel maintenant merci beaucoup !!

J'ai rajouté une protection de chaque feuilles par mot de passe. Donc quand je veux modifier une formule ou mot dans la zone qui n'est pas en orange je dois enlever la protection de la feuille. Mais y a t-il moyen que la protection de toute les feuilles se remettent en place avec mot de passe automatiquement a la fermeture du fichier ?

Merci !

7titipro-v1.zip (368.46 Ko)

Comme on a déjà une boucle à l'ouverture autant l'utiliser

ALT+F11 pour ouvrir l'editeur de macro

Dans Thisworkbook

Private Sub Workbook_Open()
  Dim i As Integer
  For i = 1 To Sheets.Count
    Sheets(i).Unprotect ("motdepasse")'modifier le mot de passe....
    If Sheets(i).Name <> "Accueil" Then Sheets(i).Visible = False
  Next
  Application.DisplayFormulaBar = False
  ActiveWindow.DisplayHeadings = False
  ActiveWindow.DisplayGridlines = False
  ctrl = False
End Sub

N'oublie pas de modifier le mot de passe

A+ François

Merci Fanfan, j'ai essayé ce que tu m'a dit mais ca ne marche pas, ca me dit qu'il y a une erreur dans ce que tu as envoyé comme code

12titipro-v1.zip (368.81 Ko)
Rechercher des sujets similaires à "blocage navigation masquage feuilles"