Bonjour,
Vous trouverez ci joint une macro* qui masque l’accès aux onglets en fonction d'un nom d'utilisateur et d'un mot de passe (paramètres dans l'onglet "parametrage").
En parallèle, sur la feuille de l'utilisateur1, un 2eme code (Sub selection_variable_feuille() ) permet d'aller sur un autre onglet en fonction de la donnée variable située en D5, d'inscrire dans la cellule active de cet onglet "Blablabla" et de revenir sur la feuille précédente.
Objectif de ce fichier : transmettre des informations sur d'autres onglets sans forcement les voir.
Problème : Si la variable onglet utilisateur1 indique d'aller sur la feuille utilisateur2 et que cette feuille est masquée, le code plante.
Je souhaiterais arriver à afficher toutes les feuilles et remasquer l'ensemble dans la config initiale
Merci de votre aide!
*Je ne suis pas l'auteur du code permettant de masquer les onglets, récupéré sur le net
(https://www.commentcamarche.net/faq/37104-vba-excel-mot-de-passe-et-utilisateurs)
Hypothèse de solution : En lançant le code Sub selection_variable_feuille() :
Vous trouverez ci joint une macro* qui masque l’accès aux onglets en fonction d'un nom d'utilisateur et d'un mot de passe (paramètres dans l'onglet "parametrage").
En parallèle, sur la feuille de l'utilisateur1, un 2eme code (Sub selection_variable_feuille() ) permet d'aller sur un autre onglet en fonction de la donnée variable située en D5, d'inscrire dans la cellule active de cet onglet "Blablabla" et de revenir sur la feuille précédente.
Objectif de ce fichier : transmettre des informations sur d'autres onglets sans forcement les voir.
Problème : Si la variable onglet utilisateur1 indique d'aller sur la feuille utilisateur2 et que cette feuille est masquée, le code plante.
Je souhaiterais arriver à afficher toutes les feuilles et remasquer l'ensemble dans la config initiale
Merci de votre aide!
*Je ne suis pas l'auteur du code permettant de masquer les onglets, récupéré sur le net
(https://www.commentcamarche.net/faq/37104-vba-excel-mot-de-passe-et-utilisateurs)
Hypothèse de solution : En lançant le code Sub selection_variable_feuille() :
VB:
Sub selection_variable_feuille()
''=> Afficher tous les onglets ?
On Error Resume Next
Sheets(Worksheets("Utilisateur1").Range("D5").Value).Select
If Err <> 0 Then MsgBox "Merci de selectionner le destinataire"
ActiveCell.Value = "Blablabla"
Call revenir_a_la_feuille_precedente
'=> Remasquer tous les onglets dans la meme config initiale'
End Sub