XL 2016 Ajout d'utilisateur VBA

yann lucien

XLDnaute Nouveau
Bonjour,

Je souhait ajouter du utilisateur ( 20 personnes ) avec utilisateur et mot de passe. Mais impossible j(ai un message d’erreurs.
Le 1er utilisateur ( Admin) fonctionnent mais pas le 2eme (yann)

Ci-joint le code

Private Sub CommandButton1_Click()
Dim action As String

action = "Connexion au classeur"
If Me.TextBox1 = "Admin" And Me.TextBox2 = "12345" Then
If Me.TextBox1 = "Yann" And Me.TextBox2 = "12345" Then
MsgBox "Connexion réussie"
End If

Call HistoriqueConnexion(action, Me.TextBox1)
End If
End Sub

Sub HistoriqueConnexion(action As String, Utilisateur As String)
Dim f As Worksheet
Dim Lr As Long
Dim Mois As String
Dim IndexMois As Integer

Set f = ThisWorkbook.Sheets("Hist Con")
Lr = f.Range("A" & Rows.Count).End(xlUp).Row + 1


IndexMois = Month(Date)

Select Case IndexMois
Case 1
Mois = "Janvier"
Case 2
Mois = "Février"
Case 3
Mois = "Mars"
Case 4
Mois = "Avril"
Case 5
Mois = "Mai"
Case 6
Mois = "Juin"
Case 7
Mois = "Juillet"
Case 8
Mois = "Aout"
Case 9
Mois = "Septembre"
Case 10
Mois = "Octobre"
Case 11
Mois = "Npvembre"
Case 12
Mois = "Decembre"

End Select

With f
.Range("A" & Lr).Value = Utilisateur
.Range("B" & Lr).Value = Now
.Range("C" & Lr).Value = action
.Range("D" & Lr).Value = Mois
.Range("e" & Lr).Value = Year(Date)

End With


Set f = Nothing
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Essaies de voir ce que cela t'inspire
Je te laisse faire les adaptations nécessaires ;)
VB:
Private Sub CommandButton1_Click()
Dim action As String
action = "Connexion au classeur"
If TextBox2 = "12345" Then
Select Case TextBox1
Case Is = "Admin", Is = "Yann"
MsgBox "Connexion réussie"
End Select
Else
MsgBox "Accès refusé!", vbCritical, "Erreur"
End If
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Comme j'avais un peu de temps libre, j'en ai profité pour simplifier ta macro HistoriqueConnexion
VB:
Public Sub HistoriqueConnexion(action$, Utilisateur$)
Dim Lr&, Mois$
Mois = StrConv(MonthName(Month(Date)), vbProperCase)
With ThisWorkbook.Sheets("Hist Con")
Lr = .Cells(Rows.Count, 1).End(3)(2).Row
.Cells(Lr, 1).Resize(, 5) = Array(Utilisateur, Now, action, Mois, Year(Date))
End With
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Dans ton exemple (1er message)
Admin et Yann ont le même mot de passe, non ?

PS: Tu as essayé ma version allégée de HistoriqueConnexion?
Sur mon PC, elle produit le même résultat que ta macro originale, non?

J'ai testé ainsi
Dans le code de l'userform
VB:
Private Sub CommandButton1_Click()
Dim action As String
action = "Connexion au classeur"
If TextBox2 = "12345" Then
Select Case TextBox1
Case Is = "Admin", Is = "Yann"
MsgBox "Connexion réussie"
Call HistoriqueConnexion(action, Me.TextBox1)
End Select
Else
MsgBox "Accès refusé!", vbCritical, "Erreur"
End If
End Sub
Dans un module standard
VB:
Public Sub HistoriqueConnexion(action$, Utilisateur$)
Dim Lr&, Mois$
Mois = StrConv(MonthName(Month(Date)), vbProperCase)
With ThisWorkbook.Sheets("Hist Con")
Lr = .Cells(Rows.Count, 1).End(3)(2).Row
.Cells(Lr, 1).Resize(, 5) = Array(Utilisateur, Now, action, Mois, Year(Date))
End With
End Sub

PS: Tu as regardé dans les archives des forums?
(Il y a beaucoup de discussions similaires à la tienne)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Si, si cela fonctionne (j'ai testé avant évidemment avant de poster mon code)
01Yann.jpg
 

Discussions similaires