XL 2019 Créer des utilisateurs sur un fichier VBA

  • Initiateur de la discussion Initiateur de la discussion Kaizers
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Kaizers

XLDnaute Occasionnel
Bonjour à tous,

Je dois créer un fichier de saisie, et ce fichier de saisie sera utilisé par 3 personnes.
C'est un fichier qui sera verrouillé de partout, pour ne laisser que la possibilité de saisir, et de sauvegarder.

Seulement, j'aurai besoin qu'à l'ouverture du fichier, on me demande un User + MDP, si pas les bon log le fichier ce ferme sans sauvegarder.
J'ai besoin d'avoir la trace de qui a saisie quoi, quel jour.

Peut-on prédéfinir dans une macro, 3 User avec 3 MDP, et si on renseigne pas un des 3 le fichier se ferme ou bloque peu importe

Exemple :
User1 Mdp: 123456
User2 Mdp: 456789
User3 Mdp: 555555

Sous quel form ?
  1. Via userform ?
  2. Via un onglet excel en selectionnant un des 3 users disponibles, avec demande de saisie du MDP dans une cellule, si OK fichier OK, sinon .close ?
  3. autres ????


Voila j'ai juste besoin d'un système comme ça pour le reste je m'en débrouille 🙂

Merci la team
 
Bonjour à tous,

Je dois créer un fichier de saisie, et ce fichier de saisie sera utilisé par 3 personnes.
C'est un fichier qui sera verrouillé de partout, pour ne laisser que la possibilité de saisir, et de sauvegarder.

Seulement, j'aurai besoin qu'à l'ouverture du fichier, on me demande un User + MDP, si pas les bon log le fichier ce ferme sans sauvegarder.
J'ai besoin d'avoir la trace de qui a saisie quoi, quel jour.

Peut-on prédéfinir dans une macro, 3 User avec 3 MDP, et si on renseigne pas un des 3 le fichier se ferme ou bloque peu importe

Exemple :
User1 Mdp: 123456
User2 Mdp: 456789
User3 Mdp: 555555

Sous quel form ?
  1. Via userform ?
  2. Via un onglet excel en selectionnant un des 3 users disponibles, avec demande de saisie du MDP dans une cellule, si OK fichier OK, sinon .close ?
  3. autres ????


Voila j'ai juste besoin d'un système comme ça pour le reste je m'en débrouille 🙂

Merci la team
Bonjour
Dans Excel 365 nous avons la fonction
Avec le classeur ouvert, sélectionnez onglet Fichier > Info > Protéger le classeur. Sélectionnez le menu déroulant Protéger le classeur, puis sélectionnez Chiffrer avec mot de passe.
1 seul mdp pour 3 utilisateurs
 
Bonjour
Dans Excel 365 nous avons la fonction
Avec le classeur ouvert, sélectionnez onglet Fichier > Info > Protéger le classeur. Sélectionnez le menu déroulant Protéger le classeur, puis sélectionnez Chiffrer avec mot de passe.
1 seul mdp pour 3 utilisateurs
Oui mais finalement les 3 utilisateurs sont les 3 mêmes. je ne pourrais pas savoir qui a saisie dans le fichier
 
Bonjour le fil, bonjour Kaizers
un essai avec des feuilles masquées, l'administrateur a une visibilité totale, les utilisateurs uniquement leur feuille de saisie. dans la feuille log, visible de l'administrateur, les modifications du fichier par utilisateur et par horaire
VB:
Sub LockSheet()
    Dim user As String
    Dim mdp As String
    Dim auth As Boolean
    auth = False
   
    ' Demande de login et mot de passe
    user = InputBox("Veuillez entrer votre nom d'utilisateur :", "Authentification")
    mdp = InputBox("Veuillez entrer votre mot de passe :", "Authentification")
   
    ' Vérification des identifiants
    Select Case user
        Case "User1"
            If mdp = "123456" Then auth = True
        Case "User2"
            If mdp = "456789" Then auth = True
        Case "User3"
            If mdp = "555555" Then auth = True
        Case "Admin"
            If mdp = "adminpass" Then auth = True
        Case Else
            auth = False
    End Select
   
    If Not auth Then
        MsgBox "Identifiants incorrects. Le fichier va se fermer.", vbCritical
        ThisWorkbook.Saved = True ' Évite la demande de sauvegarde
        Application.DisplayAlerts = False
        ThisWorkbook.Close
        Exit Sub
    End If
   
    ' Si authentifié, gérer l'accès
    Call GérerAcces(user)
End Sub

Sub GérerAcces(user As String)
    Dim ws As Worksheet
   
    ' Masquer toutes les feuilles sauf "OUVERTURE"
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name <> "OUVERTURE" Then
            ws.Visible = xlSheetVeryHidden
        End If
    Next ws
   
    Select Case user
        Case "Admin"
            ' L'administrateur voit toutes les feuilles
            For Each ws In ThisWorkbook.Worksheets
                ws.Visible = xlSheetVisible
            Next ws
        Case "User1"
            ' User1 voit sa feuille
            Worksheets("User1").Visible = xlSheetVisible
            Worksheets("User1").Select
        Case "User2"
            Worksheets("User2").Visible = xlSheetVisible
              Worksheets("User2").Select
        Case "User3"
            Worksheets("User3").Visible = xlSheetVisible
              Worksheets("User3").Select
        Case Else
            ' Si autre, tout cacher
            MsgBox "Accès non autorisé.", vbCritical
            ThisWorkbook.Close SaveChanges:=False
    End Select
End Sub
Sub user_feuille()
    ' À la fermeture, masquer toutes les feuilles sauf la feuille d'ouverture
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name <> "OUVERTURE" Then
            ws.Visible = xlSheetVeryHidden
        End If
    Next ws
    Call LockSheet
End Sub
cordialement
Je vous laisse découvrir
 

Pièces jointes

re kaizers
Le mot de passe est visible à l'ouverture du classeur sur la page d'accueil, c'est "MDP".
Bon à savoir, sur excel les protections sont illusoires, une personne avertie n'aura aucun mal à tout déverrouiller. Par contre, pour tout utilisateur lamda, les protections feront le job
@+
 
Hello,

il existe une fonctionnalité native dans Excel (sans macro donc) qui utilise les noms des personnes connectés (loguées) soit à partir du PC soit de l'active directory du domaine.

Sélectionner les cellules à autoriser à telle ou telle personne, onglet Révision, Autoriser la modification des plages, Nouvelle, Nommer éventuellement la plage, mais pas besoin de mettre un mot de passe, c'est celui de la personne logué qui sera utilisé. Cliquer sur Autorisation d'accès et Ajouter, reste à saisir tout ou partie du nom de la personne, cliquer sur vérifier les noms, si c'est correct cliquer sur OK, OK, OK.

A partir de la seule la personne reconnu sur le poste ou sur le réseau pourras modifier les colonnes protégés.
 
Bonjour,
Quand un fichier doit être partagé par un nombre de personnes limité, il est tout à fait possible de le positionner dans un répertoire du réseau d'entreprises et de définir quels utilateur ont accès à ce répertoire.

Plus besoin de login password c'est la cession Windows qui fait foies.
 
Bonjour,

@Kaizers : Je rejoins tout ce qui a été dit par les autres membres que je salue.
On peut faire beaucoup chose. Perso, je ne pousserai pas jusqu'au du "qui a fait quoi".
Voici une petite démo. On peut même offrir la possibilité de modifier le mdp.
Dans l'exemple, l'administrateur crée des comptes avec un mdp générique et différents niveaux d'accès.
Si tu cherches bien, il y a pleins d'exemples à adapter à tes besoins.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
38
Affichages
888
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
649
  • Question Question
Réponses
10
Affichages
904
Retour