Accès restreint par onglet suivant utilisateur

Bonjour a tous,

je viens de monter un fichier excel avec plusieurs onglets et je voudrais pour chaque personne entrant dans ce fichier qu'elle soit automatiquement redirigée vers l'onglet qui la concerne tout en ne voyant pas les autres onglets. Sachant que certaines personnes peuvent avoir accès à plusieurs onglets à la fois.

Connaissant assez peu les codes VBA, j'en réfère à vos capacités

Sur l'onglet "DroitsUser" vous trouvez toutes les correspondances pour l'ouverture des pages

Merci d'avance pour votre aide !!!

Je n'arrive pas à ouvrir ton fichier .... voici un exermple

C'est un peu ça, sans la validation des onglets ouverts si possible et avec des mots de passe pour chacun (que pierre ne puisse pas aller sur celui de jacques par exemple)

OK

cette fois-ci j'ai pu le télécharger ...

je vais rajouter un onglet "admin" qui contiendra les noms des onglets et mot de passe

cet onglet admin sera destiné à l'administrateur avec lui aussi un mot de passe

... mais pas avant demain matin ! sauf si qqun prend aussi le relais

Merci bien. C'est ce que je voulais. Je te remercie

A ta disposition pour d'éventuelles évolutions.

N'oublie pas les mots de passe admin !! et macro ...

bonjour,

Tout d'abord merci Steelson pour son travail.

fichier excel

GDBdZ3qZdhA_Cong-s-2016-2017.xlsm

je vis l'utiliser pour mes élèves

Mais j'ai un petit problème

J'aimerai en tend qu'administrateur accéder à toutes les feuilles

concertants mes élèves.

J'ai fait plusieurs essai mais je n'y arrive pas.

Pouvez-vous m'aider prenez le temps de dormir lorsque je vois l'heure à

laquelle vous avez répondu sur le forum.

J'abuse un peu est-il possible d'avoir une macro qui me permette de

recopier le contenu de ma feuille modele dans toutes les feuilles de mes

élèves.

Pour le moment j'utilise =modele!A1 que je répète dans toutes les feuilles

Merci beaucoup

Voici

207rol6.xlsm (160.39 Ko)

Bonsoir,

Merci beaucoup Steelson pour ton travail.

J'ai appliqué celui à mon fichier élèves.

lorsque je fais le code admin, j'ai bien toutes ma classe qui s'affiche.

j'ai repris avec ma liste d'élève pour ouvrir individuellement.

Cela fonctionne jusqu’à l’élève HEINIS Valentin, après je n'arrive plus à ouvrir pour la suite des élèves. Après HUYNH-Maxime je n'ai plus d'affichage de feuille.

Ni de Mgsbox me disant qu'il y a une erreur. je reste sur la page accueil

Si je clique sur annuler pour nom et MDP j'ai erreur d’exécution '9' et dans VBA Sheets(Cel.Text).Visible = True surligné en jaune

dans feuil1 j'ai une macro qui me permet de créer toutes mes feuilles d'élève et de copier dans chaque feuille le contenu de la feuille modele.

le problème si je modifie la le contenu de modele (en jaune) ou ajoute un nouvel élève et que je clique sur ma touche macro il me refait l'ensemble de la classe.

Est-il possible de ne copier que la feuille modele avec les changements dans les feuilles élèves.

je fais un fichier chaque semaine en fonction du travail demandé.

merci pour ton aide Steelson

92essai-mendel.xlsm (334.44 Ko)

Toutes mes excuses Steelson, c'est bon pour les feuilles élèves.

Lorsque j'ai fait le copié collé de ma liste de classe il y a eu un décalage des prénoms qui me servent pour les MDP.

pour le reste du sujet (erreur '9' et macro copie feuille modele) pas de modifications.

merci

bonsoir,

il est ou le bouton résolu sur le site ?

j'ai toujours le problème erreur '9' si l'on clique sur annuler de l'imputbox nom de l'utilisateur puis sur annuler de l'imputbox MDP

Je suis aussi à la recherche d'une macro qui permet de copier le contenu de ma feuil modele pour le coller sur toutes mes feuilles élèves.

Merci

rol6 a écrit :

Je suis aussi à la recherche d'une macro qui permet de copier le contenu de ma feuil modele pour le coller sur toutes mes feuilles élèves.

Merci

Ouvre un autre post

Bonjour, j'ai trouvé votre conversation en cherchant comment faire ce que mon "boss" me demande. Dans un fichier Excel je veux donner accès seulement à la fiche qui correspond au nom de la personne. Je n'ai jamais utilisé VBA. J'ai suivi les étapes sur ce lien https://www.commentcamarche.com/faq/37104-vba-excel-mot-de-passe-et-utilisateurs

mais cela me donne un msg d'erreur "erreur d’exécution; la méthode 'Visible' de l'objet'_Worksheet' a échoué . Je clique sur Déblocage et dans le ThisWorkbook j'ai une fleche qui m'indique la ligne If Ws.Name <> "Feuil1" Then Ws.Visible = xlSheetVeryHidden

et tous les onglets disparaît except le dernier...et je ne sais pas comment le faire réapparaître..

J'avoue que je n'ai pas bien compris à partir des instructions sur le lien mentionné ce que "A l'initialisation de l'UserForm :" veut dire et j'ai collé en dessous du code avant. Peut être l'erreur vient de là. C'est la 1ere fois que je tente VBA donc si vous voulez m'aider en m'expliquant comme à la grand mère je serais reconnaissante...

J'ai ajouté un fichier test avec ce que j'ai fait.

Merci d'avance pour votre aide.

31vba-test.xlsm (24.38 Ko)

Bonjour,

tous les onglets disparaît except le dernier...et je ne sais pas comment le faire réapparaître..

pour faire ré-apparaître :

Sub ouf()
For Each Ws In ThisWorkbook.Worksheets
    Ws.Visible = True
Next Ws
End Sub

mais cela me donne un msg d'erreur "erreur d’exécution; la méthode 'Visible' de l'objet'_Worksheet' a échoué .

il faut changer Feuil1 comme indiqué '!!!! ADAPTEZ le nom de la feuille qui doit rester affichée

'Masque toutes les feuilles sauf la feuille "Feuil1"
'!!!! ADAPTEZ le nom de la feuille qui doit rester affichée 
For Each Ws In ThisWorkbook.Worksheets
If Ws.Name <> "Feuil1" Then Ws.Visible = xlSheetVeryHidden
Next Ws

Bonjour et merci pour votre réponse.

En fait, je ne veux pas avoir de fiche (comme la fiche1) qui soit affichée. Donc, je veux que seulement les fiches auxquels je donne autorisation avec le "X" dans la fiche "parametrage" aux personnes spécifiques soit affichées quand ils mettent le mot de passe.

Du code en bas qu'est ce que je dois enlever pour faire cela ?

Merci encore.

Option Explicit

Private Sub Workbook_Open()
Dim Ws As Worksheet

'Masque toutes les feuilles sauf la feuille "Feuil1"
'!!!! ADAPTEZ le nom de la feuille qui doit rester affichée
For Each Ws In ThisWorkbook.Worksheets
If Ws.Name <> "Feuil1" Then Ws.Visible = xlSheetVeryHidden
Next Ws
'Charge l'Userform en mémoire
Load UserForm1
'Affiche l'Userform
UserForm1.Show
End Sub

Il faut une feuille bidon/vierge alors ... excel n'accepte pas de ne pas afficher au moins une feuille, c'est justement dans le message d'erreur qui apparaissait

Mais on peut faire en sorte que dès le renseignement des données (nom et mdp), cette feuille "bidon" soit occultée

Si tu est à l'aise, je te laisse faire sinon dis moi et je t'aiderai à écrire les bouts de code

Si vous avez la gentilles le m'aider ça serait top car c'est ma 1ere fois que je tente le VBA donc je ne sais pas grand chose. J'ai suivi juste les instructions. Et si vous pouvez me dire exactement dans quelle fenêtre les mettre svp

Merci encore.

ok je regarde cela demain matin à la fraîche !

pour simplifier le premier onglet sera/servira de userform

Rechercher des sujets similaires à "acces restreint onglet suivant utilisateur"