code VBA et utilisteur

  • Initiateur de la discussion Initiateur de la discussion laplayast
  • 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 !

Re : code VBA et utilisteur

Je reprends la solution donnée par skoobi dans l'autre discussion et j'y ajoute la fonctionnalité pour fermer excel en cas d'erreur.

Code:
Private Sub Workbook_Open()
vutil = InputBox("entrez votre nom d'utilisateur")
VCode = InputBox("entrez votre code d'accès")

Worksheets(1).Select

'recherche du code de l'utilisateur dans la feuille utilisateurs
Set util = Sheets("utilisateurs").Columns("A").Find(vutil, LookIn:=xlValues, lookat:=xlWhole)
If Not util Is Nothing Then
  If CStr(util.Offset(0, 1).Value) <> VCode Then
    MsgBox "desole, mot de passe incorrect", vbOKCancel, "securite"
    Exit Sub 'sortie de la procedure
  End If
Else: MsgBox "Utilisateur inconnu!", vbExclamation, "securite"
ActiveWorkbook.Saved = True
Application.Quit
  Exit Sub
End If

Worksheets(3).Select
ActiveSheet.UsedRange

'selection de la premiere cellule vide
Range("A2").Select
ActiveSheet.UsedRange.Select
ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Offset _
(1, -2).Select
'ajout des informations à la fin de la liste de la feuille JOURNAL
ActiveCell.Value = vutil
ActiveCell.Offset(0, 1) = Date
ActiveCell.Offset(0, 2) = Time
'Affichage de la feuille TRAVAIL
Worksheets(1).Select
End Sub

Mais pourquoi ne pas simplement utiliser la possibilité qui est intégré à tout document office de le protéger par mot de passe? Si je veux entrer dans ton classeur, je n'ai simplement qu'à désactiver les macros, un peu trop simple à contourner non?

fichier > enregistrer sous > outils > options générales

Inscris alors le mot de passe que tu veux que tes utilisateurs potentiel avec une connaissance très basique d'excel ne pourrons pas contourner.
 
Dernière édition:
Re : code VBA et utilisateur+code d'accés

Bonjour,
Merci "KLLMOON"de votre réponse,qui me permet d'avancer le projet;mais il manque une fonction qui ferme le projet si le code d'accés n'est pas le bon;ou si l'on annule l'operation.
merci à bientôt🙄
 

Pièces jointes

Re : code VBA et utilisteur

Bonsoir,
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'ThisWorkbook.IsAddin = True 'masque le classeur si les macros sont désactivées
Sheets("journal").Visible = xlVeryHidden
Sheets("Utilisateurs").Visible = xlVeryHidden

End Sub

Private Sub Workbook_Open()
'ThisWorkbook.IsAddin = False 'masque le classeur si les macros sont désactivées
Do
VUtil = InputBox("Il vous reste " & 3 - compteur1 & " tentatives", "NOM D'UTILISATEUR")
Set Util = Sheets("utilisateurs").Columns("A").Find(VUtil, LookIn:=xlValues, lookat:=xlWhole)
    If VUtil = "" Or Util Is Nothing Then
        MsgBox "Nom inconnu"
        compteur1 = compteur1 + 1
            If compteur1 = 3 Then ActiveWorkbook.Close False
    Else: GoTo Suite
    End If
Loop
Suite:
Do
VCode = InputBox("Il vous reste " & 3 - compteur2 & " tentatives", "CODE D'ACCES")
    If VCode = "" Or CStr(Util.Offset(0, 1).Value) <> VCode Then
        MsgBox "Code erronné"
        compteur2 = compteur2 + 1
            If compteur2 = 3 Then ActiveWorkbook.Close False
    Else: GoTo Fin
    End If
Loop
Fin:
If VUtil = "toto" Then
    Sheets("journal").Visible = True
    Sheets("Utilisateurs").Visible = True
End If

With Sheets("journal")
Dlign = .Range("A65000").End(xlUp).Row + 1
    .Cells(Dlign, 1) = VUtil
    .Cells(Dlign, 2) = Date
    .Cells(Dlign, 3) = Time
End With
Sheets("Travail").Activate

End Sub
A+
kjin
 

Pièces jointes

- 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
7
Affichages
276
  • Question Question
Microsoft 365 problème d'index
Réponses
19
Affichages
516
Réponses
4
Affichages
498
Réponses
3
Affichages
266
Retour