[RESOLU] Message quand bouton de naviguation est désactivé

scoubidou35

XLDnaute Occasionnel
Bonjour,

Dans mon fichier, j'ai une page sommaire avec des boutons avec un lien hypertexte pour naviguer.

Ma première question est : est-il possible de cacher l'adresse du lien qui apparait quand on pointe sur le bouton?

Ma seconde question est : Il y a possibilité avec l'onglet MEMBERS de sélectionner les pages qu'on autorise d'accès au personne. Et quand on retourne sur la page "Sommaire" les bontons avec un lien hypertexte sur une page non autorisé sont bloqué. Mais je n'arrive pas à mettre un message qui apparaitrait quand la personne tente en cliquant dessus. J'aimerai avoir un message "Vous n'avez pas accès à cette page, veuillez contacter l'admin".

Pour entrer dans le fichier :
admin = 1234
demo = 5678

Je reste disponible pour informations complémentaires.
Merci
 

Pièces jointes

  • CLASSEUR PROTEGE - version2.3.xlsm
    69.1 KB · Affichages: 26

scoubidou35

XLDnaute Occasionnel
Merci Job75
Ça fonctionne. J'ai rajouté un msgbox pour alerter la personne :)
Hier,J'ai passé du temps à retranscrire les codes dans le fichier mère. Mais j'ai pas fini avec les codes sur les feuilles sommaires et the workbook.
J'ai listé la moitié des onglets environ et j'ai un nouveau petit problème qui apparaît. Quand je lance le fichier mon écran d'ordinateur "saute". Je pense que c'est du au nombre d'onglets (+de 60).
Y a t'il une possibilité de reduire le nombre de lignes de commande sur les pages sommaire et the workbook en simplifiant. Car en fait, je demande juste a mettre tous les onglets en invisibles sauf l'onglet login.
Merci pour l'aide.
A+
 

job75

XLDnaute Barbatruc
Bonjour scoubidou35, le forum,
Quand je lance le fichier mon écran d'ordinateur "saute". Je pense que c'est du au nombre d'onglets (+de 60).
Code:
Private Sub Workbook_Open()
Dim s As Object
Application.ScreenUpdating = False 'fige l'écran
Sheets("LOGIN").Visible = True
For Each s In Sheets
    If UCase(s.Name) <> "LOGIN" Then s.Visible = 2
Next
End Sub
Bonne journée.
 

scoubidou35

XLDnaute Occasionnel
Bonjour Job75
Merci c'est nettement mieux mais je aussi le problème quand je click sur le bouton de commande "SORTIR" qui se trouve sur la page "SOMMAIRE"
est ce que je mets le code suivant dans la feuille "SOMMAIRE":

Private Sub commandButton2_click()
Dim s As Object
Application.ScreenUpdating = False 'fige l'écran
Sheets("LOGIN").Visible = True
For Each s In Sheets
If UCase(s.Name) <> "LOGIN" Then s.Visible = 2
Next
End Sub

et dans la page LOGIN vu que j'ai une formule pour n'afficher que les feuilles ayant un "X" en fonction de la personne. Faut il que je mette la ligne application.screenUpdating = false ? si oui où?

Merci pour tout l'aide.
A+
 

scoubidou35

XLDnaute Occasionnel
Pas de problème. C'est juste que ce matin j'ai fait un test avec un code à moi et que j'ai planté le programme. J'ai pas réussi à le débuguer. Ca m'a même effacé des feuilles. Je ne sais pas ce que j'ai fait mais bon heureusement que je garde une copie de sauvegarde. J'ai pu effacer le premier fichier .

Mais bon j'ai recopié le code et rajouté la ligne pour figer l'écran. Et c'est nettement mieux même si ca saute encore un peu.

Merci encore à toi job75
Bon WE
 

scoubidou35

XLDnaute Occasionnel
J'ai avancé dans mon fichier mais j'ai un nouveau qui apparait sur le fichier mère que je n'ai pas sur la version simplifié que j'utilise pour le forum.
En fait vu le nombre important de feuilles dans le classeur, j'ai un décalage à l'écran des ordres.
En fait j'ai des alertes qui sont programmées, sur le fichier du forum. J'ai bien la fenêtre pour l'accès puis ouverture du sommaire et ensuite apparition des alertes. C'est ce que je recherche.
Mais avec mon fichier mère, j'ai un grand nombre de feuilles. Donc maintenant j'ai la fenêtre d'accès puis les alertes avec le bouton du sommaire à l'écran et lorsque je clic sur "ok" des alertes après j'ai le sommaire.
Hors il faut que les alertes apparaissent dans le sommaire.
J'ai donc envisagé de mettre le code dans la feuille "SOMMAIRE" mais le problème est que si je retourne 20 fois sur le sommaire du classeur, je me retrouve avec 20 fois les alertes. Y a t-il un moyen pour que les alertes ne s'affichent qu'une seul fois par jour et par personne?
sinon si vous avez d'autres solutions faite moi signe.
(J'ai essayé la macro wait en me disant que pendant que je mets en pause l'avancement du code, l'ordi aurait le temps de rattraper le retard mais ca ne fonctionne pas comme çà hélas. La fonction wait stop la lecture du code tout simplement).
J'espère que j'ai été assez clair dans mes explications, dans le cas contraire n'hésitez pas à me poser vos questions.
Merci
A+
 

scoubidou35

XLDnaute Occasionnel
J'ai peut être trouvé une solution en fait comme je mets
Application.ScreenUpdating = False
en début de chaque code à boucle, pour figer l'écran durant le travail.
j'ai donc mis Application.ScreenUpdating = true à la fin du code à boucle pour revenir à la normale
En procédant ainsi, les alertes s'ouvre bien et je n'ai plus de décalage.
Bon WE à tous
 

Statistiques des forums

Discussions
312 304
Messages
2 087 061
Membres
103 447
dernier inscrit
DamD